Как добавить IP-маршрут (ы), чтобы адреса кластера Kubernetes проходили через соответствующий адаптер

#kubernetes #routes #weave #cni

#kubernetes #маршруты #переплетение #cni

Вопрос:

Я установил Kubernetes cluster ( one Master and one Worker- Node ) на CentOS-8 OS отдельный сервер отдельно в соответствии с приведенными ниже инструкциями по ссылке.

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

Weave-Net - CNI plugin installed согласно приведенной выше ссылке. Теперь я вижу ниже новый сетевой адаптер на нашем сервере K8s Master amp; Worker-Node.

 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 amp; 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 Master amp; Worker-Node server есть 23 network adapters , Statically network IP уже настроено, поэтому необходимо настроить любую дополнительную конфигурацию для K8s CNI, доступную в маршрутизации по умолчанию?

ip route show amp; route -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
  

Попытался изменить маршрут weave на стандартный с помощью приведенной ниже команды. он выполнен успешно, но проблема все та же.

 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 проходили через соответствующий адаптер, чтобы я мог получить доступ как к нашему локальному, так и к удаленному серверу.

Комментарии:

1. Можете ли вы пинговать удаленные IP-адреса напрямую с узлов?

2. Нет. Не выполняется пинг как у master, так и у worker.

3. Тогда это, вероятно, связано не с Kubernetes, а с конфигурацией сети вашего узла.

4. ОК. Итак, какие дополнительные настройки мне нужно выполнить для маршрутизации IP-адреса адаптера weave с маршрутом по умолчанию?

5. Нет, ваш адаптер weave, скорее всего, работает правильно. Что @BogdanL пытается объяснить: если ваши хост-машины, на которых запущены узлы k8s, не могут подключиться к определенному внешнему сетевому ресурсу, то же самое произойдет внутри кластера k8s. Итак, вам нужно исправить конфигурацию сети вашего хост-компьютера.

Ответ №1:

Я изменил CNI-Weave-Net плагин на Flannel , теперь он работает как исключенный.