apiVersion: v1
kind: Service
metadata:
name: example-svc
spec:
selector:
app: example-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
上述yaml文件中的selector指定了该Service资源所要选择的Pod,ports则指定了Service要监听的端口和目标端口,即Pod的端口号。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: example-backend
port:
name: http
上述yaml文件中的rules指定了该Ingress资源所要匹配的地址,host指定了Ingress资源所要处理的主机名。paths则指定了Ingress要监听的路径和路径类型,backend则指定了请求要转发到的Service资源。
注意:在使用Service和Ingress资源进行跨集群通信时,需要使用外部负载均衡器或者其他网络隧道技术进行支持。
参考链接:https://kubernetes.io/docs/concepts/services-networking/ingress/