[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for Kubernetes](../index.md) > [Концепции](index.md) > Кластеры с несколькими диапазонами IP-адресов подов

# Кластеры с несколькими диапазонами IP-адресов подов

*Поддержка нескольких диапазонов IP-адресов подов* (Cluster Multi-CIDR) позволяет назначить [кластеру](index.md#kubernetes-cluster) несколько непересекающихся диапазонов IP-адресов и добавлять новые без остановки и пересоздания кластера. Эта возможность позволяет создавать большие кластеры и масштабировать существующие, а также гибко управлять адресным пространством в рамках общей сетевой архитектуры.

{% note info %}

Поддержка нескольких диапазонов IP-адресов подов доступна только для кластеров в [релизном канале](release-channels-and-updates.md) `RAPID`. В одном кластере можно использовать не более [восьми диапазонов](limits.md#managed-k8s-limits).

{% endnote %}

## Распределение IP-адресов подов {#address-allocation}

Диапазоны образуют общий пул IP-адресов кластера. Диапазоны можно задать при [создании кластера](../operations/kubernetes-cluster/kubernetes-cluster-create.md) или [добавить позже](../operations/kubernetes-cluster/kubernetes-cluster-update.md#update-cluster) без остановки и пересоздания кластера.

Каждый диапазон делится на блоки для узлов. Каждому узлу выделяется один блок IP-адресов для подов. Поэтому количество узлов, которое может вместить диапазон, определяется количеством таких блоков.

Размер блока определяется маской подсети узлов [в сетевых настройках кластера](network.md#address-space). При добавлении узла сервис выделяет ему свободный блок, из которого поды на этом узле получают IP-адреса.

Например, из диапазона `10.1.0.0/16` узлу выделяется блок `10.1.128.0/24`. Этот блок записывается в поле `spec.podCIDR` объекта Kubernetes типа `Node`, представляющего узел. Поды на этом узле получают IP-адреса из выделенного блока, например `10.1.128.2` и `10.1.128.3`.

Если в текущем диапазоне заканчиваются свободные блоки адресов для новых узлов, можно добавить в кластер еще один диапазон. Новые узлы будут получать блоки из доступных диапазонов. При этом IP-адреса существующих узлов и подов не меняются.

В кластере может быть не более восьми диапазонов IP-адресов подов. Диапазоны можно добавлять, но нельзя изменять или удалять. Добавление диапазонов не увеличивает [квоты](limits.md) на узлы и другие ресурсы.

## Требования к диапазонам {#requirements}

При планировании адресного пространства учитывайте следующие требования:

* Кластер использует релизный канал `RAPID`.
* Количество диапазонов IP-адресов подов не больше `8`.
* Диапазоны не пересекаются друг с другом.
* Диапазоны не пересекаются с диапазоном сервисов, подсетями мастера и узлов, а также сетями, подключенными через VPN, Cloud Interconnect, Cloud Router и пиринговыми сетями.
* Диапазон вмещает хотя бы один блок IP-адресов для подов узла. Размер блока определяется маской подсети узлов [в сетевых настройках кластера](network.md#address-space).
* Перед добавлением диапазона проверьте [режим управления](../operations/network/manage-ip-masq-agent.md#get-config) настройками маскарадинга. От него зависит, будет ли новый диапазон добавлен в исключения автоматически или его потребуется добавить вручную.

## Как добавить новый диапазон IP-адресов подов {#add-cidr}

Чтобы расширить адресное пространство подов:

1. Выберите диапазон, который соответствует требованиям и вмещает нужное количество узлов.

   Каждому узлу выделяется один блок IP-адресов для подов. Размер блока определяется маской подсети узлов [в сетевых настройках кластера](network.md#address-space).

   Чтобы рассчитать количество блоков в диапазоне, используйте числа после `/`:

   ```text
   Количество узлов = 2^(маска подсети узлов − маска диапазона)
   ```

   Например, диапазон `10.1.0.0/16` при маске подсети узлов `/24` содержит `2^(24 − 16) = 256` блоков — по одному на узел. Расчет не учитывает возможное резервирование блоков сервисом.

   Добавление диапазона увеличивает количество блоков для новых узлов. Размер блоков, уже выделенных существующим узлам, не меняется. Фактическое количество узлов также ограничено [квотами и лимитами](limits.md).

1. [Добавьте новый диапазон в настройки кластера](../operations/kubernetes-cluster/kubernetes-cluster-update.md#update-cluster), сохранив существующие диапазоны, и дождитесь завершения операции.

1. Если автоматическое управление маскарадингом отключено, [вручную добавьте новый диапазон в исключения маскарадинга](../operations/network/manage-ip-masq-agent.md#sync-cidr).

1. Проверьте, что диапазон добавлен в [настройки кластера](../operations/kubernetes-cluster/kubernetes-cluster-configuration-list.md).

{% note warning %}

Не изменяйте и не удаляйте ресурсы Virtual Private Cloud, которые используются кластером Managed Service for Kubernetes. Это может привести к некорректной работе кластера и невозможности его последующего удаления.

{% endnote %}

1. После [расширения группы узлов](../operations/node-group/node-group-update.md) [проверьте блоки адресов, назначенные новым узлам](../operations/network/manage-ip-masq-agent.md#verify).

#### Полезные ссылки {#see-also}

* [Сеть в Managed Service for Kubernetes](network.md)
* [Квоты и лимиты в Managed Service for Kubernetes](limits.md)
* [Настройка маскарадинга в кластерах с несколькими диапазонами IP-адресов подов](../operations/network/manage-ip-masq-agent.md)