#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
, теперь он работает как исключенный.