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