如何添加IP路由以便Kubernetes群集地址通过适当的适配器通过

问题描述

我已按照以下链接说明分别在Kubernetes cluster独立服务器上安装了one Master and one Worker- NodeCentOS-8 OS)。

https://www.tecmint.com/install-a-kubernetes-cluster-on-centos-8/

weave-Net - CNI plugin installed(如上述链接)。现在,我可以在我们的K8s主节点和工作节点服务器中看到新的网络适配器。

weave: flags=4163<UP,broADCAST,RUNNING,MULTICAST> mtu 1376
inet 10.32.0.1 netmask 255.240.0.0 broadcast 10.47.255.255
inet6 fe80::a07d:21ff:fef1:4656 prefixlen 64 scopeid 0x20<link>
ether a2:7d:21:f1:46:56 txqueuelen 1000 (Ethernet)
RX packets 141 bytes 13322 (13.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 48 bytes 4896 (4.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

但是问题出在主机服务器无法ping (Or) access any of our remote site/location IPs上(以下是ping响应)。而Local IPs are pinging & accessible

ping -c 4 120.121.5.48
PING 120.121.5.48 (120.121.5.48) 56(84) bytes of data.
From 10.32.0.1 icmp_seq=1 Destination Host Unreachable
From 10.32.0.1 icmp_seq=2 Destination Host Unreachable
From 10.32.0.1 icmp_seq=3 Destination Host Unreachable
From 10.32.0.1 icmp_seq=4 Destination Host Unreachable

--- 120.121.5.48 ping statistics ---
4 packets transmitted,0 received,+4 errors,100% packet loss,time 2999ms
pipe 4 

主机服务器也尝试连接我们的远程LDAP server through telnet,它在下面显示错误消息。

# telnet 120.121.5.48 389
Trying 120.121.5.48...
telnet: connect to address 120.121.5.48: No route to host

在我们的K8s MasterWorker-Node server中已经配置了23 network adaptersStatically network IP,那么是否需要为认路由中可到达的K8 CNI配置其他配置?

ip route showroute -n输出如下。

# ip route show
default via 45.46.47.1 dev ens1f0 proto static metric 100
10.32.0.0/12 dev weave proto kernel scope link src 10.32.0.1
45.46.47.0/24 dev ens1f0 proto kernel scope link src 45.46.47.48 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         45.46.47.1      0.0.0.0         UG    100    0        0 ens1f0
10.32.0.0       0.0.0.0         255.255.255.0   U     10     0        0 ens1f0
10.32.0.0       0.0.0.0         255.240.0.0     U     0      0        0 weave
45.46.47.0      0.0.0.0         255.255.255.0   U     100    0        0 ens1f0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

试图使用以下命令将编织路径更改为认值。它执行成功,但是仍然存在相同的问题。

ip route add 10.32.0.0/24 via 45.46.47.1 dev ens1f0 metric 100

假设我运行ifconfig weave down,一切正常。但是要使用Kubernetes集群,我需要weave-net network adapter。因此,请帮助我添加IP路由,以便我的Kubernetes群集地址通过适当的适配器通过,这样我就可以访问我们的本地和远程位置服务器。

解决方法

我将CNI-Weave-Net插件更改为Flannel,现在它可以正常工作了。