我用kubernetes二进制文件安装了k8s主机,集群运行良好。
但我面临一个奇怪的问题。
首先,我运行命令pod2中的CCD_ 1。
然后我在pod1中提出请求curl http://<pod2 ip>:9999
pod2中的结果显示类似
Serving HTTP on 0.0.0.0 port 9999 ...
10.244.0.1 - - [01/Apr/2021 14:40:34] "GET / HTTP/1.1" 200 -
然而,pod1的实际ip为10.244.0.47。
根据我的发现,10.244.0.1是cni0的ip地址。
我不知道是什么导致了这个问题。
有人能帮我一把吗?
最后我找到了导致这个结果的原因。
我使用的容器是docker,它将默认创建iptable规则。因此,来自docker的流量将被更改,然后在ip上执行snat。
将"iptables": false
添加到/etc/docker/daemon.json将解决此问题。