我已经建立了一个有效的k8s集群。
群集的每个节点都在网络 10.11.12.0/24(物理网络(内。在这个网络上运行一个法兰绒(运河(cni。
每个节点都有另一个网络接口(不由 k8s 管理(,cidr 为 192.168.0.0/24
当我部署如下服务时:
kind: Service
apiVersion: v1
metadata:
name: my-awesome-webapp
spec:
selector:
server: serverA
ports:
- protocol: TCP
port: 80
targetPort: 8080
externalTrafficPolicy: Local
type: LoadBalancer
externalIPs:
- 192.168.0.163
该服务可以在 http://192.168.0.163 访问,但 Pod 接收服务器的源 ip:192.168.0.163 eth0 地址:不是我的源 ip (192.168.0.94(。
部署由 2 个具有相同规格的 Pod 组成。
Pod 是否可以查看我的源 ip m?有人知道如何管理它吗? externalTrafficPolicy: Local
似乎不起作用。
Kubernetes 使用集群/节点 IP 更改源 IP,有关详细信息,请参阅本文档。Kubernetes 有一个保留客户端源 IP 的功能,我相信你已经知道了。似乎这是 Kubernetes 中的一个错误,并且已经有一个针对以下命令无法正常工作的此问题的开放错误。
外部流量策略:本地
我建议发布该错误以引起对该问题的更多关注。