k8s Pod 1 获取错误的 pod 2 的 ip 地址
k8s Pod 1 get wrong pod 2's ip address
我用 kubernetes 二进制文件安装了 k8s master,集群运行良好。
但是我遇到了一个奇怪的问题。
首先,我运行命令
python -m SimpleHTTPServer 9999
在 pod2 中。
然后我在 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 将解决此问题。
我用 kubernetes 二进制文件安装了 k8s master,集群运行良好。
但是我遇到了一个奇怪的问题。
首先,我运行命令
python -m SimpleHTTPServer 9999
在 pod2 中。
然后我在 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 将解决此问题。