Сеть в Managed Service for Kubernetes
При создании кластера Kubernetes вы можете задать:
- Сеть и подсеть для мастера.
- Диапазон IP-адресов для подов.
- Диапазон IP-адресов для сервисов.
- Маску подсети узлов.
Дополнительно вы можете:
- Запросить публичный IP-адрес для доступа к кластеру извне Yandex Cloud.
- Настроить контроллеры сетевых политик для управления адресным пространством внутри кластера.
Важно
Не изменяйте и не удаляйте ресурсы Virtual Private Cloud, которые используются кластером Managed Service for Kubernetes. Это может привести к некорректной работе кластера и невозможности его последующего удаления.
Сетевые ресурсы
При работе с кластером Kubernetes на инфраструктуре Yandex Cloud задействуются следующие ресурсы:
-
Подсети.
При создании кластера без туннельного режима Managed Service for Kubernetes резервирует две подсети: для подов и сервисов. Для кластера с туннельным режимом подсети в адресном пространстве облачной сети не резервируются.
-
Публичные IP-адреса.
При создании кластера с публичным доступом мастеру будет присвоен публичный IP-адрес.
При создании группы узлов с публичным доступом каждому узлу в группе будет присвоен публичный IP-адрес.
Управление адресным пространством
Для кластеров Kubernetes, не использующих туннельный режим, диапазоны подов не должны пересекаться с диапазоном сервисов, подсетями мастера и узлов, а также другими сетями в Virtual Private Cloud и подключенными сетями.
Если свободных блоков для новых узлов недостаточно, добавьте непересекающийся диапазон без остановки и пересоздания кластера. Поддержка нескольких диапазонов доступна только в релизном канале RAPID.
Для подов, узлов и сервисов таких кластеров доступны диапазоны подсетей:
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.Примечание
Для кластеров в релизном канале
RAPIDможно использовать несколько диапазонов IP-адресов подов. Добавьте CIDR в соответствии с требованиями, а после настройте маскарадинг IP-адресов.Можно только добавлять новые диапазоны CIDR. Изменять или удалять существующие диапазоны нельзя.
-
Диапазон IP-адресов для сервисов:
10.2.0.0/16. -
Маска подсети узлов:
24.
Диапазон подов содержит 2^(24 − 16) = 256 блоков /24: от 10.1.0.0/24 до 10.1.255.0/24. Расчет не учитывает возможное резервирование блоков сервисом Managed Service for Kubernetes. При планировании также учитывайте квоты и лимиты.
Каждому узлу выделяется один незарезервированный блок. Например, если узлу выделен блок 10.1.1.0/24, поды на нем получают адреса из этого блока, такие как 10.1.1.2 и 10.1.1.3.
Имя узла и 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: для доступа к реестрам создайте необходимую инфраструктуру вручную.
Влияние групп безопасности
Группы безопасности, которые назначаются группам узлов, содержат базовое правило, разрешающее подключаться к внешним ресурсам.
При использовании более гранулярных правил, которые существенно ограничивают сетевой трафик, они могут препятствовать доступу узлов в интернет. Доступ может отсутствовать как полностью, так и частично — на уровне отдельных внешних ресурсов.
Если наблюдаются проблемы с доступом в интернет для узлов, то скорректируйте правила в группах безопасности, чтобы нужный трафик был разрешен.