Сеть в Managed Service for Kubernetes
При создании кластера Kubernetes вы можете задать:
- Сеть и подсеть для мастера.
- Диапазон IP-адресов для подов.
- Диапазон IP-адресов для сервисов.
- Маску подсети узлов.
Дополнительно вы можете:
- Запросить публичный IP-адрес для доступа к кластеру извне Yandex Cloud.
- Настроить контроллеры сетевых политик для управления адресным пространством внутри кластера.
Сетевые ресурсы
При работе с кластером Kubernetes на инфраструктуре Yandex Cloud задействуются следующие ресурсы:
-
Подсети.
При создании кластера без туннельного режима Managed Service for Kubernetes резервирует две подсети: для подов и сервисов. Для кластера с туннельным режимом подсети в адресном пространстве облачной сети не резервируются.
-
Публичные IP-адреса.
При создании кластера с публичным доступом мастеру будет присвоен публичный IP-адрес.
При создании группы узлов с публичным доступом каждому узлу в группе будет присвоен публичный IP-адрес.
Управление адресным пространством
Для кластеров Kubernetes, не использующих туннельный режим, установлены следующие ограничения:
- Диапазоны создаваемых подсетей не должны пересекаться с уже существующими диапазонами.
- Для подов, узлов и сервисов доступна только половина возможного диапазона подсетей. Ограничение связано с особенностями Virtual Private Cloud и вводится, чтобы точно обеспечить диапазон свободных IP-адресов для распределения сервисов кластера.
Для подов, узлов и сервисов таких кластеров доступны диапазоны подсетей:
10.0.0.0/8.172.16.0.0/12.192.168.0.0/16.
Маска подсети узлов и размер подсети для подов определяет максимальное количество узлов в кластере и максимальное количество подов на узле.
Также действует стандартное ограничение Kubernetes
Для кластеров в туннельном режиме доступны диапазоны подсетей:
10.0.0.0/8.172.16.0.0/12.192.168.0.0/16.
Примечание
Для таких кластеров не действуют ограничения в половину возможного диапазона подсетей и пересечения диапазонов.
Например, при создании кластера со следующими параметрами:
- Туннельный режим не задействован.
- Диапазон IP-адресов для подов:
10.1.0.0/16. - Диапазон IP-адресов для сервисов:
10.2.0.0/16. - Маска подсети узлов:
24.
Для кластера будут доступны:
- Диапазоны IP-адресов для узлов:
10.1.128.0/24–10.1.255.0/24. - IP-адреса для подов на каждом узле:
10.1.128.2–10.1.128.255,10.1.129.2–10.1.129.255, и т. д.
Имя узла и FQDN
Managed Service for Kubernetes генерирует имя для каждого узла при его создании. Это имя будет являться доменным именем узла (FQDN). Имя узла и FQDN невозможно изменить.
Используйте FQDN для доступа к узлу в рамках одной облачной сети. Подробнее см. в разделе Адреса облачных ресурсов.
Публичный доступ в кластере
Совет
Можно включить публичный доступ только для мастера, только для узлов в группе или одновременно для мастера и узлов.
Если для мастера или узлов в группе узлов включен публичный доступ, то они будут доступны из интернета по своим публичным IP-адресам.
Включить публичный доступ можно:
- для мастера только при создании кластера;
- для узлов в группе при создании или изменении группы.
Если для мастера или узлов выключен публичный доступ, то они будут доступны только по своим внутренним IP-адресам из облачной сети, в которой находится кластер.
Доступ в интернет для рабочих узлов кластера
Для подключения к внешним ресурсам, например реестрам Docker-образов Container Registry, Cloud Registry или Docker Hub
Чтобы обеспечить доступ в интернет, назначьте узлам публичный IP-адрес и настройте группу безопасности. Также в качестве альтернативы публичным IP-адресам можно создать и настроить в подсети узлов NAT-шлюз или NAT-инстанс.
Если кластер создан без доступа в интернет, то подключение к внешним ресурсам с узлов кластера будет невозможно.
Исключение — следующие сервисы Yandex Cloud, к которым можно организовать доступ по внутренним IP-адресам:
- Object Storage: для доступа к бакетам используйте сервисное подключение VPC или создайте необходимую инфраструктуру вручную.
- Container Registry: для доступа к реестрам создайте необходимую инфраструктуру вручную.
Влияние групп безопасности
Группы безопасности, которые назначаются группам узлов, содержат базовое правило, разрешающее подключаться к внешним ресурсам.
При использовании более гранулярных правил, которые существенно ограничивают сетевой трафик, они могут препятствовать доступу узлов в интернет. Доступ может отсутствовать как полностью, так и частично — на уровне отдельных внешних ресурсов.
Если наблюдаются проблемы с доступом в интернет для узлов, то скорректируйте правила в группах безопасности, чтобы нужный трафик был разрешен.