Фланцевая сеть наложения проводника Kubernetes на виртуальных машинах, заблокированных kubefirewall - PullRequest
0 голосов
/ 12 февраля 2019

Мне интересно, смог ли кто-нибудь правильно запустить Kubernetes через Wireguard VPN.Я создал кластер из двух узлов на двух виртуальных машинах, связанных проводной защитой.Главный узел с полной плоскостью управления работает нормально и может принимать рабочие узлы через интерфейс wireguard.Я установил nodeip для kubelet для ip wireguard, а также установил аргумент iface для фланелевого соединения, чтобы использовать интерфейс wireguard вместо значения по умолчанию.Кажется, до сих пор это работает хорошо.

Проблема возникает, когда я пытаюсь присоединить рабочий узел к кластеру с помощью команды соединения.Обратите внимание, что я также отредактировал ip узла kubelet, чтобы он стал проводным ip на рабочем узле.

При присоединении весь трафик к узлу сбрасывается «Брандмауэром Kubernetes».Под брандмауэром kubernetes я имею в виду, что если вы проверите iptables после выполнения команды соединения на рабочем узле, вы увидите KUBE-FIREWALL, который отбрасывает все отмеченные пакеты.Брандмауэр является стандартным, так же как и на главном, но я предполагаю, что часть, которую я пропускаю, - это то, что нужно сделать, чтобы поток трафика проходил на рабочем узле после присоединения к главному узлу.

Я не могудаже пинговать google.com или общаться с мастером через туннель Wireguard.Стручки не могут быть запланированы либо.Я вручную удалил правило KUBE-FIREWALL в качестве теста, который затем позволяет планировать pods и направлять регулярный трафик на рабочий узел, но Kubelet быстро воссоздает правило примерно через минуту.

Я думаюмаршрут должен быть создан до объединения или что-то в этом роде.Кто-нибудь пробовал это раньше, будет очень признателен за любые предложения по этому поводу.

1 Ответ

0 голосов
/ 18 февраля 2019

Получив некоторую помощь, я понял, что проблема связана с Wiregaurd.В частности, при запуске wg-quick в качестве службы, которая, очевидно, создает правило ip, которое направляет ВСЕ исходящий трафик через интерфейс wg0, кроме фонового защищенного канала WG.Это вызывает проблемы при попытке подключить работника к кластеру, поэтому простое создание и запуск интерфейса wg0 с помощью чего-то, подобного приведенному ниже, будет работать

ip link add dev wg0 type wireguard
ip addr add 10.0.0.4/24 dev wg0
wg addconf wg0 /etc/wireguard/wg0.conf
ip link set wg0 up
...