Я поддерживаю кластер Kubernetes. Узлы находятся в интрасети с 10.0.0.0/8
IP-адресами, а диапазон сети модуля равен 192.168.0.0/16
.
Проблема в том, что некоторые рабочие узлы имеют недоступные маршруты к сетям модулей на других узлах, например:
0.0.0.0 10.a.b.65 0.0.0.0 UG 0 0 0 eth0
10.a.b.64 0.0.0.0 255.255.255.192 U 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.20.0 - 255.255.255.192 ! 0 - 0 -
192.168.21.128 - 255.255.255.192 ! 0 - 0 -
192.168.22.64 0.0.0.0 255.255.255.192 U 0 0 0 *
192.168.22.66 0.0.0.0 255.255.255.255 UH 0 0 0 cali3859982c59e
192.168.24.128 - 255.255.255.192 ! 0 - 0 -
192.168.39.192 - 255.255.255.192 ! 0 - 0 -
192.168.49.192 - 255.255.255.192 ! 0 - 0 -
...
192.168.208.128 - 255.255.255.192 ! 0 - 0 -
192.168.228.128 10.14.170.104 255.255.255.192 UG 0 0 0 tunl0
Когда я docker exec
в контейнер Calico, соединения с другими узлами сообщаются unreachable
в bird:
192.168.108.64/26 unreachable [Mesh_10_15_39_59 08:04:59 from 10.a.a.a] * (100/-) [i]
192.168.112.128/26 unreachable [Mesh_10_204_89_220 08:04:58 from 10.b.b.b] * (100/-) [i]
192.168.95.192/26 unreachable [Mesh_10_204_30_35 08:04:59 from 10.c.c.c] * (100/-) [i]
192.168.39.192/26 unreachable [Mesh_10_204_89_152 08:04:59 from 10.d.d.d] * (100/-) [i]
...
В результате модули на сломанных узлах практически не могут получить доступ ни к чему в кластере.
Я попытался перезапустить сломанный узел, удалить его из кластера, запустить kubeadm reset
и снова присоединиться к нему. Но все осталось по-прежнему.
Какова возможная причина и как это исправить? Спасибо заранее.