Kubernetes Ping同一个&;不同的豆荚

Kubernetes Ping同一个&;不同的豆荚,kubernetes,google-cloud-platform,vpc,kubernetes-pod,Kubernetes,Google Cloud Platform,Vpc,Kubernetes Pod,我想从pod(节点0)ping B pod(节点1),但无法访问。但是,同一节点中的ping pod也无法访问。 我正在建立一个新的集群来尝试Kubernetes 我尝试使用此链接作为我的参考 路线-n 工人-0 Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.240.0.1 0.0.0.0 UG 100 0

我想从pod(节点0)ping B pod(节点1),但无法访问。但是,同一节点中的ping pod也无法访问。 我正在建立一个新的集群来尝试Kubernetes

我尝试使用此链接作为我的参考

路线-n

工人-0

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
工人-1

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.1.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
工人-2

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.2.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
我已经完成了这样的VPC网络路由设置

之后,我遵循了这个参考

worker-0中的路由添加-网络10.200.1.0网络掩码255.255.255.0 gw 10.240.0.21

结果是

SIOCADDRT: Network is unreachable
我在worker-0、worker-1、worker-2中进行了尝试,得到了相同的结果。 即使worker-0可以ping到worker-1(10.240.0.21),也可以访问

我的期望是,当我在IP Pod 10.200.0.3的Pod A(worker-0)中时,我可以ping到IP Pod 10.200.1.3的Pod B(worker-1)。而且,我可以ping到与Pod A相同的Pod C(worker-0)

这一步应该用印花布还是法兰绒?或者我们是否可以从不同节点ping其他pod而不使用印花布或法兰绒(仅CNI设置)

补充资料

我使用的是Docker而不是runc&Containederd。 所以,我从这里手动安装了Docker


在kubelet.service中,
--container runtime=remote
变成
--container runtime=docker

尝试添加如下路由:

Worker-0:
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-1:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-2:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21

在工作节点上,
ifconfig ens4
的输出是什么?结果是SIOCADDRT:网络不可访问。但是我可以使用LAN ping到其他节点IP@NickyPuff您能否在所有工作节点上共享
ifconfig
的输出,并在worker-0
sudo route add-net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21
上尝试此操作?这是我的ifconfig,当我运行route命令时,结果是SIOCADDRT,我正在使用Docker notcontainderdwonding为什么
ens4
的网络掩码是
255.255.255
:)这可能就是GCP的工作原理?所有实例都托管在GCP中。我对此无能为力
Worker-0:
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-1:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-2:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21