Настройка групп безопасности для инструментов Application Load Balancer для Managed Service for Kubernetes
Для корректной работы Ingress-контроллера или Gateway API нужно настроить группы безопасности кластера и групп узлов Yandex Managed Service for Kubernetes и балансировщика нагрузки Application Load Balancer.
Для кластера, групп узлов и балансировщика можно использовать разные группы безопасности (рекомендуется) или одну и ту же группу.
В группах безопасности должны быть настроены:
- Все стандартные правила, описанные в соответствующих разделах документации:
- Для кластера и групп узлов — в разделе Настройка групп безопасности документации Managed Service for Kubernetes.
- Для балансировщика — в разделе Группы безопасности. Последнее правило, для исходящего трафика на виртуальные машины бэкендов, должно разрешать соединения в подсети групп узлов кластера или его группу безопасности.
- Правила для проверок состояния бэкендов, разрешающие:
- Балансировщику — отправлять трафик узлам кластера по протоколу TCP на порт 10501 (назначение трафика — подсети или группы безопасности групп узлов кластера).
- Группам узлов — принимать этот трафик (источник трафика — подсети балансировщика или его группа безопасности).
Группы безопасности кластера и групп узлов указываются в их настройках. Подробнее см. инструкции:
Идентификаторы групп безопасности балансировщика указываются:
- В ресурсе
Ingress
— в аннотацииingress.alb.yc.io/security-groups
. Если балансировщик создается по несколькимIngress
, ему назначаются все указанные в этихIngress
группы безопасности. - В ресурсе
Gateway
— в аннотацииgateway.alb.yc.io/security-groups
.
Пример настройки
Приведем пример для следующих условий:
- Требуется развернуть балансировщик с публичным IP-адресом, принимающий HTTPS-трафик, в трех подсетях, имеющих CIDR
10.128.0.0/24
,10.129.0.0/24
и10.130.0.0/24
, — далее они помечаются [Б]. - При создании кластера были указаны CIDR кластера
10.96.0.0/16
[К] и CIDR сервисов10.112.0.0/16
[С]. - Группа узлов в кластере расположена в подсети́, имеющей CIDR
10.140.0.0/24
[Узл]. - Подключаться к узлам по SSH и управлять кластером через API,
kubectl
и другие утилиты можно только из CIDR203.0.113.0/24
[Упр].
Тогда в группах безопасности нужно создать следующие правила:
-
Группа безопасности балансировщика:
Исходящий трафикВходящий трафикДиапазон портов Протокол Назначение CIDR блоки Описание Весь
(0-65535
)TCP
CIDR
10.140.0.0/24
[Узл]Для отправки трафика, в том числе для проверок состояния, на узлы Диапазон портов Протокол Источник CIDR блоки Описание 80
TCP
CIDR
0.0.0.0/0
Для получения входящего HTTP-трафика 443
TCP
CIDR
0.0.0.0/0
Для получения входящего HTTPS-трафика 30080
TCP
Проверки состояния балансировщика
— Для проверок состояния узлов балансировщика -
Группа безопасности группы узлов для проверок состояния бэкендов:
-
Группа безопасности кластера и группы узлов для служебного трафика:
Исходящий трафикВходящий трафикДиапазон портов Протокол Назначение CIDR блоки Описание Весь
(0-65535
)Любой
(Any
)CIDR
0.0.0.0/0
Для всего исходящего трафика Диапазон портов Протокол Источник CIDR блоки Описание Весь
(0-65535
)TCP
Проверки состояния балансировщика
— Для сетевого балансировщика нагрузки Весь
(0-65535
)Любой
(Any
)Группа безопасности
Текущая
(Self
)Для трафика между мастером и узлами Весь
(0-65535
)Любой
(Any
)CIDR
10.96.0.0/16
[К]10.112.0.0/16
[С]Для трафика между подами и сервисами Весь
(0-65535
)ICMPv6
CIDR
10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
Для проверки работоспособности узлов из подсетей внутри Yandex Cloud -
Группа безопасности группы узлов для подключения к сервисам из интернета:
Входящий трафикДиапазон портов Протокол Источник CIDR блоки Описание 30000-32767
TCP
CIDR
0.0.0.0/0
Для доступа к сервисам из интернета и подсетей Yandex Cloud -
Группа безопасности группы узлов для подключения к узлам по SSH:
Входящий трафикДиапазон портов Протокол Источник CIDR блоки Описание 30000-32767
TCP
CIDR
203.0.113.0/24
[Упр]Для подключения к узлам по SSH -
Группа безопасности кластера для доступа к API Kubernetes:
Подробнее о группах безопасности для кластера и групп узлов см. в разделе Настройка групп безопасности документации Managed Service for Kubernetes.