pods kubernetes вышли из строя при изменении iptables - PullRequest
0 голосов
/ 07 мая 2020

Когда я изменил iptables на хосте, модули k8s вышли из строя. похоже, что связь внутри кластера заблокирована. статус модуля превратился в ContainerCreating. Я просто хочу сделать простой белый список IP-адресов, как показано ниже.

iptables -A INPUT -s 10.xxx.4.0 / 24 -p all -j ACCEPT

iptables -A INPUT -j REJECT

Затем я удаляю элемент отклонения в iptables, поды снова запускаются. Я просто хочу знать, как сделать простой белый список IP-адресов на хосте и не затрагивать запущенные поды k8s?

события: enter image description here!

1 Ответ

0 голосов
/ 19 мая 2020

Kubernetes использует iptables для управления сетевыми соединениями между модулями (и между узлами), обрабатывая многие правила сети и переадресации портов. С iptables -A INPUT -j REJECT вы фактически не позволяете ему это делать.

Взято из статьи о сетевой модели Kubernestes :

В Kubernetes правила iptables настраиваются контроллером kube-proxy, который отслеживает изменения на сервере Kubernetes API. Когда при изменении службы или модуля обновляется виртуальный IP-адрес службы или IP-адрес модуля, правила iptables обновляются для правильной маршрутизации трафика c, направленного на службу, в резервный модуль. Правила iptables отслеживают трафик c, предназначенный для виртуального IP-адреса службы, и при совпадении случайный IP-адрес модуля выбирается из набора доступных модулей, а правило iptables изменяет IP-адрес назначения пакета с виртуального IP-адреса службы на IP-адрес выбранного модуля. По мере того, как поды поднимаются или отключаются, набор правил iptables обновляется, чтобы отражать изменяющееся состояние кластера. Другими словами, iptables выполнил балансировку нагрузки на машине, чтобы передать трафик c, направленный на IP-адрес службы, на фактический IP-адрес модуля.


Чтобы защитить кластер, лучше разместить все настраиваемые правила на шлюзе ( AD C) или в облако группы безопасности . Уровень безопасности кластера можно контролировать с помощью Сетевые политики , Ingress , RBA C и др.

В Kubernetes также есть хорошая статья о Обеспечение безопасности кластера и руководство по github с передовыми методами обеспечения безопасности кубернестов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...