В k8s1.16 при использовании kubenet и dual-stack, как настроить ping cbr0 gw на другой узел? - PullRequest
0 голосов
/ 30 октября 2019

Я установил кластер kubernetes v1.16 с двумя узлами и включил «двойной стек IPv4 / IPv6», следуя этому руководству . Для «двойного стека» я установил --network-plugin=kubenet в kubelet.

Теперь модули имеют адреса ipv4 и ipv6, а каждый узел имеет gw cbr0 с адресами ipv4 и ipv6. Но когда я отправил эхо-запрос от узла к узлу cbr0 другого узла, это не удалось.

Я попытался вручную добавить маршрут следующим образом: «ip route add [podCIDR другого узла] через [ipaddress другого узла]"

После добавления маршрута на двух узлах я могу выполнить команду ping cbr0 gw успешно с ipv4. Но «добавление маршрута вручную» не кажется правильным.

Когда я использую kubenet, как мне настроить ping с узла на gw cbr0 другого узла?

1 Ответ

0 голосов
/ 15 ноября 2019

Kubenet - это требование для включения IPv6, и, как вы сказали, у kubenet есть некоторые ограничения, и здесь мы можем прочитать:

Kubenetэто очень простой, простой сетевой плагин , только для Linux. Сам по себе он не реализует более продвинутые функции , такие как межузловая сеть или сетевая политика. Обычно он используется вместе с облачным провайдером , который устанавливает правила маршрутизации для связи между узлами или в средах с одним узлом.

Я хотел бы подчеркнуть, что kubenet не являетсясоздание маршрутов автоматически для вас.

Основываясь на этой информации, мы можем понять, что в вашем сценарии это ожидаемое поведение и проблем не возникает. Если вы хотите продолжать движение в этом направлении, вам нужно создавать маршруты вручную,

Важно помнить, что это альфа-функция (WIP).

Также делается некоторая работа, чтобы сделать возможным запуск кластера Kubernetes с помощью Dual Stack с использованием Kubeadm , но его пока нельзя использовать, и для него нет ETA.

Есть несколько примеров настройки IPv6 и двух стеков с другими сетевыми подключаемыми модулями в этом хранилище , но для него все еще требуется добавлять маршруты вручную.

Этот проектслужит двум основным целям: (i) изучить и проверить поддержку ipv6 в kubernetes и связанных плагинах (ii) предоставить среду разработки для реализации и тестирования дополнительных функций (egdual-stack)

...