Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • VibeCraft
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка маскарадинга в кластерах с несколькими диапазонами IP-адресов подов
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
    • Работа с приватными реестрами Docker-образов
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Синхронизируйте маскарадинг после добавления диапазона
  • Режимы управления
  • Посмотрите текущие настройки
  • Включите автоматическое управление
  • Включите ручное управление
  • Автоматический выбор режима
  • Проверьте результат
  1. Пошаговые инструкции
  2. Настройка маскарадинга в кластерах с несколькими диапазонами IP-адресов подов

Настройка маскарадинга в кластерах с несколькими диапазонами IP-адресов подов

Статья создана
Yandex Cloud
Обновлена 22 сентября 2026 г.
Открыть в Markdown
  • Перед началом работы
  • Синхронизируйте маскарадинг после добавления диапазона
  • Режимы управления
  • Посмотрите текущие настройки
  • Включите автоматическое управление
  • Включите ручное управление
  • Автоматический выбор режима
  • Проверьте результат

Создайте кластер с несколькими диапазонами IP-адресов подов или расширьте адресное пространство существующего кластера, затем проверьте настройки маскарадинга.

Объект ConfigMap с именем ip-masq-agent в пространстве имен kube-system содержит настройки маскарадинга IP-адресов подов. В параметре data.config.nonMasqueradeCIDRs задаются диапазоны назначения, при обращении к которым IP-адрес пода не заменяется IP-адресом узла.

В кластерах с несколькими диапазонами IP-адресов подов сохраняйте в этом списке все диапазоны подов кластера.

Перед началом работыПеред началом работы

Диапазоны подов можно задать при создании кластера или добавить позже при изменении кластера.

Перед добавлением диапазона в существующий кластер посмотрите и сохраните настройки маскарадинга. Если используете собственные диапазоны или другие настройки, включите ручное управление, чтобы сохранить их.

Синхронизируйте маскарадинг после добавления диапазонаСинхронизируйте маскарадинг после добавления диапазона

  1. Проверьте режим управления ConfigMap ip-masq-agent.
  2. В зависимости от режима выполните следующие действия:
    • enforced — дождитесь следующего обновления конфигурации и убедитесь, что новый диапазон появился в nonMasqueradeCIDRs. Не редактируйте data.config вручную: сервис перезапишет изменения.
    • disabled — выполните kubectl -n kube-system edit configmap ip-masq-agent и добавьте новый диапазон в data.config.nonMasqueradeCIDRs. Сохраните прежние диапазоны и остальные настройки. Пример конфигурации приведен в разделе ручного управления.
    • Аннотации нет — дождитесь автоматического выбора режима и прочитайте ConfigMap повторно. Если нужно сохранить пользовательские настройки, явно задайте disabled до их редактирования.
  3. Проверьте результат.

Режимы управленияРежимы управления

Режим задается аннотацией addon-cm-controller.mk8s.yc.io/mode:

Значение

Поведение

enforced

Сервис поддерживает весь data.config в соответствии с системным шаблоном. Новые диапазоны подов добавляются автоматически. Пользовательские значения перезаписываются.

disabled

Сервис не изменяет ConfigMap. Пользователь самостоятельно поддерживает системные и собственные диапазоны.

Аннотации нет

Сервис определяет режим по текущему содержимому и устанавливает enforced или disabled.

Другое значение

Сервис не изменяет ConfigMap и создает событие с причиной InvalidMode.

Проверка конфигурации выполняется периодически, по умолчанию раз в 60 секунд. Изменение режима не требует перезапуска кластера или узлов.

Посмотрите текущие настройкиПосмотрите текущие настройки

Перед началом работы установите kubectl и настройте его на работу с созданным кластером Managed Service for Kubernetes.

Чтобы посмотреть режим и содержимое ConfigMap, выполните команду:

kubectl -n kube-system get configmap ip-masq-agent -o yaml

Перед изменением сохраните текущую конфигурацию:

kubectl -n kube-system get configmap ip-masq-agent -o yaml > ip-masq-agent-backup.yaml

Включите автоматическое управлениеВключите автоматическое управление

Используйте режим enforced, если вам достаточно системных диапазонов подов и стандартных настроек ip-masq-agent.

Важно

При включении enforced сервис перезапишет весь data.config. Пользовательские диапазоны, значения resyncInterval, masqLinkLocal и другие настройки не сохранятся. Перед изменением сохраните конфигурацию.

Чтобы передать управление сервису, выполните команду:

kubectl -n kube-system annotate configmap ip-masq-agent \
  addon-cm-controller.mk8s.yc.io/mode=enforced --overwrite

При добавлении нового диапазона подов сервис автоматически добавит его в nonMasqueradeCIDRs.

Включите ручное управлениеВключите ручное управление

Если вы добавляете собственные диапазоны или меняете другие параметры ip-masq-agent:

  1. Установите режим disabled:

    kubectl -n kube-system annotate configmap ip-masq-agent \
      addon-cm-controller.mk8s.yc.io/mode=disabled --overwrite
    
  2. Откройте ConfigMap для редактирования:

    kubectl -n kube-system edit configmap ip-masq-agent
    
  3. В nonMasqueradeCIDRs сохраните все диапазоны подов кластера и добавьте пользовательские диапазоны назначения, для которых маскарадинг не требуется. Например:

    data:
      config: |+
        nonMasqueradeCIDRs:
          - 10.112.0.0/16
          - 10.113.0.0/16
          - 10.200.0.0/16
        masqLinkLocal: false
        resyncInterval: 60s
    

    В примере первые два диапазона относятся к подам, третий — к пользовательской сети. Замените их своими значениями. Сохраните остальные настройки, необходимые для вашей сети.

Важно

В режиме disabled после каждого добавления диапазона подов обновляйте nonMasqueradeCIDRs самостоятельно. Сервис не объединяет системные и пользовательские настройки.

Автоматический выбор режимаАвтоматический выбор режима

При первом запуске контроллер проверяет ConfigMap без аннотации. Если в ней перечислены только ожидаемые системные диапазоны, назначается режим enforced. Конфигурация с дополнительными, отсутствующими или измененными диапазонами получает режим disabled и сохраняется без изменений.

При сравнении учитывается порядок диапазонов. Системные диапазоны IPv4 в прежнем формате, занимавшем половину диапазона, могут быть распознаны и заменены полными. Смешанный список полных и половинных диапазонов классифицируется как пользовательская конфигурация.

Важно

Если вы изменяли только resyncInterval, masqLinkLocal или другие параметры, не меняя системный список CIDR, контроллер может выбрать enforced и перезаписать настройки. Чтобы сохранить их, заранее установите disabled.

Удаление аннотации запускает автоматический выбор повторно. Чтобы однозначно выбрать режим, задавайте enforced или disabled явно.

Проверьте результатПроверьте результат

  1. После создания новых узлов посмотрите назначенные им блоки адресов:

    kubectl get nodes -o custom-columns=NAME:.metadata.name,POD_CIDR:.spec.podCIDR,POD_CIDRS:.spec.podCIDRs
    

    Новый диапазон может не использоваться, пока в прежнем остаются свободные блоки. Адреса существующих узлов и подов при добавлении диапазона не меняются.

  2. Дождитесь следующей проверки конфигурации и посмотрите настройки:

    kubectl -n kube-system get configmap ip-masq-agent -o yaml
    
  3. Проверьте события ConfigMap:

    kubectl -n kube-system get events \
      --field-selector involvedObject.kind=ConfigMap,involvedObject.name=ip-masq-agent \
      --sort-by=.lastTimestamp
    

    Если появилось событие InvalidMode, исправьте значение аннотации.

  4. Чтобы проверить правила маскарадинга на узле, подключитесь к нему по SSH и выполните команду:

    sudo iptables -t nat -L IP-MASQ -v -n
    

Не удаляйте ConfigMap для сброса настроек: сервис создаст ее заново по системному шаблону. Для изменения поведения используйте аннотацию режима.

Полезные ссылкиПолезные ссылки

  • Кластеры с несколькими диапазонами IP-адресов подов
  • Сеть в Managed Service for Kubernetes

Была ли статья полезна?

Предыдущая
Обновление Kubernetes
Следующая
Настройка автомасштабирования
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»