如何从 kubernetes 中的 Pod 获取源 IP



我已经建立了一个有效的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 中的一个错误,并且已经有一个针对以下命令无法正常工作的此问题的开放错误。

外部流量策略:本地

我建议发布该错误以引起对该问题的更多关注。

最新更新