假设现在有一个ingress暴露的服务 example.com.cn,查看一下流量是怎么传输到后端的
使用kubectl get ingress可以查看到如下内容,example.com.cn对应的ingress IP为52.52.52.2,对外暴露端口为80和443,部署在kube-system命名空间中
kube-system kubernetes-dashboard example.com.cn 52.52.52.2 80, 443 13d
使用kubectl get ingress kubernetes-dashboard -nkube-system -oyaml查看该ingress对应的后端服务如下,后端服务名称kubernetes-dashboard,后段服务端口为80
spec:
rules:
- host: example.com.cn
http:
paths:
- backend:
serviceName: kubernetes-dashboard
servicePort: 80
path: /
使用kubectl describe service kubernetes-dashboard -nkube-system查看service信息,可以看到service的cluster Ip为172.21.5.15,后端pod Ip为172.20.1.170,后端端口为8443
Type: ClusterIP
IP: 172.21.5.15
Port: <unset> 80/TCP
TargetPort: https/TCP
Endpoints: 172.20.1.170:8443
数据传输路径如下