k8s 的pod中的应用无法获取真实的访问ip


我通过EXTERNAL-IP的方式将pod开放到外网,然后我用外网的机器通过node的ip和端口访问pod中的应用时,pod内的应用实际获取的是docker0网关的ip,这个是什么原因,是iptables的问题吗?,还是linux网关的问题?该如何改进呢?,跪求大神解答!!!!!!!!!
已邀请:

wisen

赞同来自:


docker bridge网络下,所有外部访问都是需要经过iptables nat转换的,所以你获取的是docker0的IP当然很正常。改进方案: 可以尝试一下calico网络(非ipip)模式。

hanlongsen

赞同来自:


docker bridge和原生的linux bridge 不一样吗, 我看了docker0的所有iptables规则,没有改变源ip的规则啊,难道是docker bridge本身将源ip改了

davismao

赞同来自:


前端加一个nginx

要回复问题请先登录注册