k8s网络故障:master无法ping通node上的 pod ip,node也无法ping通master上的pod ip.

网络故障:master无法ping通node上的 pod ip,node也无法ping通master上的pod ip.

环境:

基于kubeadm部署的k8s 1.19, 1个master 2个node
master 网段: 172.17.0.0
node01 网络: 172.17.1.0
node02 网段: 172.17.2.0

网络插件:flannel

[root@bj-pt-uat-k8s-master01 ~]# kubectl get pod -n kube-system

NAME                                             READY   STATUS    RESTARTS   AGE
coredns-6d56c8448f-rmjnx                         1/1     Running   0          51d
coredns-6d56c8448f-xdx62                         1/1     Running   0          51d
etcd-bj-pt-uat-k8s-master01                      1/1     Running   0          51d
kube-apiserver-bj-pt-uat-k8s-master01            1/1     Running   0          54d
kube-controller-manager-bj-pt-uat-k8s-master01   1/1     Running   2          52d
kube-flannel-ds-7z4h9                            1/1     Running   0          17h
kube-flannel-ds-n6pxb                            1/1     Running   0          54d
kube-flannel-ds-xd2tp                            1/1     Running   0          54d
kube-proxy-rckxq                                 1/1     Running   0          51d
kube-proxy-rp7tp                                 1/1     Running   0          51d
kube-proxy-x8ngn                                 1/1     Running   0          51d
kube-scheduler-bj-pt-uat-k8s-master01            1/1     Running   2          52d

发现的问题:

  • master01上有去这三个网络的路由:
[root@bj-pt-uat-k8s-master01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.21.64.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.17.1.0      172.17.1.0      255.255.255.0   UG    0      0        0 flannel.1
172.17.2.0      172.17.2.0      255.255.255.0   UG    0      0        0 flannel.1
172.21.64.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
  • node上却没有去 master(172.17.0.0)的路由
[root@bj-pt-uat-k8s-node02 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.21.64.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.17.1.0      172.17.1.0      255.255.255.0   UG    0      0        0 flannel.1
172.17.2.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
172.21.64.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

正常的网络通讯肯定都要一来一回,回去路由没有肯定就代表不同。
所以我首先想到的就是给node上加一条回去的路由

  • 尝试解决:
    参考master上的路由走向,我得知,node01上如下加
    目标为172.17.0.0 掩码为255.255.255.0 网关为 172.17.0.0 的一条路由规则,如下面的命令
 route add -net 172.17.0.0 netmask 255.255.255.0 gw 172.17.0.0

然而我增加是却报错:

[root@bj-pt-uat-k8s-node01 ~]#  route add -net 172.17.0.0 netmask 255.255.255.0 gw 172.17.0.0
SIOCADDRT: Network is unreachable

待完善

你可能感兴趣的:(k8s网络故障:master无法ping通node上的 pod ip,node也无法ping通master上的pod ip.)