Как добавить правила брандмауэра, чтобы разрешить доступ к портам узлов через виртуальный IP-адрес в Kubernetes - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть кластер kubernetes, где плоскости управления работают в HA через настроенный VIP keepalived (установлен только на узлах управления). Все работает как положено, когда брандмауэр отключен. все внутренние коммуникации и порты узла ведут себя непоследовательно, когда включен брандмауэр. В качестве базового c запуска я включил некоторые обязательные порты, которые требуются для kubernetes, но это не помогает приложениям взаимодействовать. Есть ли способ или добавить какие-либо правила брандмауэра, которые помогают мне получить доступ к узлам портов / службам приложений?

Если мне неясно, это небольшая сводка

Уровень управления 1: 172.16. 23.110

Плоскость управления 2: 172.16.23.111

Плоскость управления 3: 172.16.23.112

Поддержка активности VIP: 172.16.23.116

Рабочие узлы: 172.16. 23.120-23.125

Я пытаюсь получить доступ к сервису через nodePort, как https://172.16.23.116: 30443

Я добавил ниже случай брандмауэра для всех узлов (все узлы являются centos7 .6)

cat /etc/firewalld/zones/internal.xml

<rule>
    <protocol value="vrrp" />
    <accept />
</rule>

Пожалуйста, помогите

1 Ответ

1 голос
/ 13 февраля 2020

Я не уверен, что правильно понял вопрос.

Но согласно официальной документации вам необходимо открыть следующие порты:

Control- Плоскостные узлы:

  • Входящий TCP 6443 *
  • Входящий TCP 2379-2380
  • Входящий TCP 10250
  • Входящий TCP 10251
  • Входящий TCP 10252

Рабочие узлы:

  • Входящий TCP 10250
  • Входящий TCP 30000-32767

Вот примеры команд для Firewalld, взятые из здесь :

Узлы (-и) плоскости управления:

firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10251/tcp
firewall-cmd --permanent --add-port=10252/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --add-masquerade --permanent
# only if you want NodePorts exposed on control plane IP as well
firewall-cmd --permanent --add-port=30000-32767/tcp
systemctl restart firewalld

Рабочие узлы ):

firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --permanent --add-port=8472/udp
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --add-masquerade --permanent
systemctl restart firewalld
...