繁体   English   中英

如何从Kubernetes的Pod中获取源IP?

[英]How to get source IP from a Pod in kubernetes?

我已经建立了一个工作正常的k8s集群。

群集的每个节点都在网络10.11.12.0/24(物理网络)内部。 通过该网络运行法兰绒(运河)CNI。

每个节点都具有cidr 192.168.0.0/24的另一个网络接口(不受k8s管理)

当我部署如下服务时:

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)。

部署包括两个具有相同规格的Pod。

是否可以Pods查看我的源IP M? 有人知道如何管理吗? externalTrafficPolicy: Local似乎不起作用。

Kubernetes使用集群/节点IP更改了源IP,可以在本文档中找到其详细信息。 Kubernetes具有保留客户端源IP的功能 ,我相信您已经知道了。 似乎是一个这是Kubernetes一个错误,已经有一个开放的错误为以下命令无法正常工作这一问题。

externalTrafficPolicy:本地

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM