我提了一个calico的问题,跨主机网络不通,能不能帮我解答一下,弄了好久也没弄明白,谢谢


我搭建k8s+calico时,k8s的pod跨主机无法通信,只能ping通主机上的pod,ping其他的主机上的pod都不通,且主机内的pod的网络也出不来,不知道为什么,求解释,现象如下

calico版本为2.1,k8s为1.4.0

主机ip分别为:
master 10.125.200.1
minion1 10.125.200.2

两个主机的peer状态均为
[root@bj02-ops-dockerrancho02 yum.repos.d]# calicoctl node status
Calico process is running.

IPv4 BGP status
+--------------+-------------------+-------+----------+-------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+--------------+-------------------+-------+----------+-------------+
| 10.125.200.1 | node-to-node mesh | up | 03:27:56 | Established |
+--------------+-------------------+-------+----------+-------------+

ipPool配置为:
apiVersion: v1
kind: ipPool
metadata:
cidr: 10.10.0.0/16
spec:
nat-outgoing: true

生成的pod为
[root@bj02-ops-dockerrancho01 k8s]# kubectl get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-test-73ymc 1/1 Running 0 6m 10.10.221.0 minion1
nginx-test-zc7sm 1/1 Running 0 6m 10.10.14.192 master

master 路由为:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.125.203.254 0.0.0.0 UG 0 0 0 br0
10.10.14.192 0.0.0.0 255.255.255.255 UH 0 0 0 calice03c47a36e
10.10.14.192 0.0.0.0 255.255.255.192 U 0 0 0 *
10.10.221.0 10.125.200.2 255.255.255.192 UG 0 0 0 br0
10.125.200.0 0.0.0.0 255.255.252.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 1178 0 0 br0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

master 路由为:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.125.203.254 0.0.0.0 UG 0 0 0 br0
10.10.14.192 10.125.200.1 255.255.255.192 UG 0 0 0 br0
10.10.221.0 0.0.0.0 255.255.255.255 UH 0 0 0 cali5aa0632d22e
10.10.221.0 0.0.0.0 255.255.255.192 U 0 0 0 *
10.125.200.0 0.0.0.0 255.255.252.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 2017 0 0 br0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
已邀请:

wisen

赞同来自:


宿主机ping 其他宿主机上的pod IP ?(默认是不通的)
跑到容器里面ping 其他宿主机上的pod IP 试试。(这个默认是通的)

halbart

赞同来自:


查看下policy是否配置允许了?
calicoctl get policy

Axe

赞同来自:


我们遇到的问题与你的现象类似,最后发现是因为宿主机上iptables规则导致不同虚拟机之间BGP、IPinIP不通,如果你们这边也是用的虚拟机,可以考虑检查宿主机的iptables或者关掉宿主机的iptables试下。

要回复问题请先登录注册