Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Kubernetes
KZ
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
    • Работа с приватными реестрами Docker-образов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Создание группы с узлами из пула резервов ВМ
      • Подключение к узлу по SSH
      • Подключение к узлу через OS Login
      • Настройка автомасштабирования
      • Изменение группы узлов
      • Управление Kubernetes-метками узлов
      • Удаление группы узлов
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

  • Изменить параметры группы узлов
  • Настроить политику развертывания
  • Назначить узлам публичные IP-адреса
  • Пересоздать группу узлов с новой taint-политикой
  • Пересоздать группу узлов без taint-политики
  • Управлять облачными метками группы узлов
  • Добавить облачную метку
  • Изменить облачную метку
  • Удалить облачную метку
  • Изменить способ подключения к узлам в группе узлов
  • Изменить метаданные
  1. Пошаговые инструкции
  2. Управление группой узлов
  3. Изменение группы узлов

Изменение группы узлов Managed Service for Kubernetes

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 9 июля 2026 г.
Открыть в Markdown
  • Изменить параметры группы узлов
  • Настроить политику развертывания
  • Назначить узлам публичные IP-адреса
  • Пересоздать группу узлов с новой taint-политикой
  • Пересоздать группу узлов без taint-политики
  • Управлять облачными метками группы узлов
    • Добавить облачную метку
    • Изменить облачную метку
    • Удалить облачную метку
  • Изменить способ подключения к узлам в группе узлов
  • Изменить метаданные

Примечание

В регионе Казахстан доступны только платформы standard-v3 (Intel Ice Lake) и standard-v3-t4i (Intel Ice Lake with T4i). Другие типы платформ, кластеры GPU и выделенные хосты недоступны.

Отдельные узлы в группах узлов — это виртуальные машины Yandex Compute Cloud с автоматически сгенерированными именами. Чтобы сконфигурировать узлы, воспользуйтесь инструкциями, приведенными ниже, или другими инструкциями по управлению группами узлов.

Внимание

Не изменяйте параметры ВМ узлов, в том числе имена, сетевые интерфейсы и SSH-ключи, с помощью интерфейсов Compute Cloud или SSH-подключения к ВМ.

Это может нарушить работу отдельных узлов, групп узлов и всего кластера Managed Service for Kubernetes.

Для обращения к группе узлов используйте ее имя или уникальный идентификатор, которые можно узнать с помощью команды:

yc managed-kubernetes node-group list

Результат:

+----------------------+----------------------+-------------+----------------------+---------------------+---------+------+
|          ID          |      CLUSTER ID      |    NAME     |  INSTANCE GROUP ID   |     CREATED AT      | STATUS  | SIZE |
+----------------------+----------------------+-------------+----------------------+---------------------+---------+------+
| catt3knapbq5******** | cati493bu7ia******** | k8s-demo-ng | cl1tbm76ms7p******** | 2019-11-20 12:01:02 | RUNNING |    2 |
+----------------------+----------------------+-------------+----------------------+---------------------+---------+------+

Перед началом работы убедитесь, что в облаке достаточно свободных ресурсов.

Изменить параметры группы узловИзменить параметры группы узлов

Вы можете изменить следующие параметры группы узлов Managed Service for Kubernetes:

  • Имя.

  • Описание.

  • Масштабирование: для фиксированного типа — количество узлов Managed Service for Kubernetes, для автоматического — минимальное, максимальное и начальное количество узлов Managed Service for Kubernetes. Тип масштабирования нельзя изменить.

  • Версию Kubernetes.

  • Способ назначения IP-адресов узлам группы: только внутренние адреса или также публичные.

    Примечание

    Для подключения к внешним ресурсам, например реестрам Docker-образов Container Registry, Cloud Registry или Docker Hub, а также бакетам Object Storage, у узлов группы должен быть доступ в интернет.

    Чтобы обеспечить доступ в интернет, назначьте узлам публичный IP-адрес и настройте группу безопасности. Также в качестве альтернативы публичным IP-адресам можно создать и настроить в подсети узлов NAT-шлюз или NAT-инстанс.

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

  • Список групп безопасности.

    Внимание

    Не удаляйте группы безопасности, привязанные к работающей группе узлов Managed Service for Kubernetes: это может привести к нарушению ее работы и потере данных.

  • Вычислительные ресурсы и размер диска узлов Managed Service for Kubernetes.

  • Шаблон имени узлов Managed Service for Kubernetes.

  • Политику обновлений.

Инструкция по изменению зоны доступности группы узлов приведена в разделе Миграция ресурсов Kubernetes в другую зону доступности.

Консоль управления
CLI
Terraform
API

Чтобы изменить группу узлов Managed Service for Kubernetes:

  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Managed Service for Kubernetes.
  3. Нажмите на имя нужного кластера.
  4. Перейдите во вкладку Группы узлов.
  5. Выберите нужную группу узлов.
  6. Нажмите кнопку Редактировать в правом верхнем углу.
  7. В открывшемся окне измените необходимые параметры.
  8. Нажмите кнопку Сохранить.

Получите подробную информацию о команде для изменения группы узлов Managed Service for Kubernetes:

yc managed-kubernetes node-group update --help

Для изменения группы узлов Managed Service for Kubernetes воспользуйтесь флагами:

  • --new-name — изменить имя.

  • --description — изменить описание.

  • --service-account-id, --service-account-name — изменить сервисный аккаунт для ресурсов.

  • --node-service-account-id, --node-service-account-name — изменить сервисный аккаунт для узлов Managed Service for Kubernetes.

  • --version — изменить версию Kubernetes.

  • --network-interface — настройки сети:

    • security-group-ids — идентификаторы групп безопасности.
    • subnets — имена подсетей, в которых будут размещаться узлы.
    • ipv4-address — способ назначения IPv4-адресов.
    • ipv6-address — способ назначения IPv6-адресов.

    Параметры ipv4-address и ipv6-address отвечают за способ назначения IP-адресов:

    • auto — узлам будут присвоены только внутренние IP-адреса.
    • nat — узлам будут присвоены публичные и внутренние IP-адреса.

    Публичные IP-адреса необходимы для подключения к узлам из интернета и для подключения узлов к внешним ресурсам, например реестрам Docker-образов (Container Registry, Cloud Registry или Docker Hub), а также бакетам Object Storage.

    Чтобы обеспечить узлам доступ в интернет, назначьте им публичный IP-адрес и настройте группу безопасности. Также в качестве альтернативы публичным IP-адресам можно создать и настроить в подсети узлов NAT-шлюз или NAT-инстанс.

    Если вы назначили узлам кластера публичные IP-адреса и затем настроили NAT-шлюз или NAT-инстанс, доступ в интернет через публичные адреса пропадет. Подробнее читайте в документации Yandex Virtual Private Cloud.

  • --network-acceleration-type — выбор типа ускорения сети:

    • standard — без ускорения.

    • software-accelerated — программно ускоренная сеть.

      Важно

      Перед включением программно ускоренной сети убедитесь, что у вас достаточно свободных ресурсов в облаке для создания одного дополнительного узла Managed Service for Kubernetes.

  • --node-name — изменить шаблон имени узлов Managed Service for Kubernetes. Для уникальности имени шаблон должен содержать хотя бы одну переменную:

    • {instance_group.id} — идентификатор группы ВМ.
    • {instance.index} — уникальный номер ВМ в группе. Возможные значения: от 1 до N, где N — количество ВМ в группе.
    • {instance.index_in_zone} — номер ВМ в зоне. Уникален в рамках зоны для конкретной группы ВМ.
    • {instance.short_id} — идентификатор ВМ, уникальный в рамках группы. Состоит из четырех букв.
    • {instance.zone_id}— идентификатор зоны.

    Например, prod-{instance.short_id}-{instance_group.id}. Если имя не задано, используется значение по умолчанию: {instance_group.id}-{instance.short_id}.

  • --template-labels — изменить облачные метки группы узлов в формате <имя_метки>=<значение_метки>. Можно указать несколько меток через запятую.

  • --latest-revision — получить все доступные обновления для текущей версии мастера Managed Service for Kubernetes.

  • Настройки масштабирования:

    • --fixed-size — изменить фиксированное количество узлов в группе узлов Managed Service for Kubernetes.

    • --auto-scale — изменить настройки автоматического масштабирования кластера Managed Service for Kubernetes:

      • min — минимальное количество узлов в группе.
      • max — максимальное количество узлов в группе.
      • initial — начальное количество узлов в группе.

    Тип масштабирования нельзя изменить.

  • --auto-upgrade — управлять автоматическими обновлениями.

  • Управление окном обновлений:

    • --anytime-maintenance-window — обновлять в любое время.

    • --daily-maintenance-window — обновлять ежедневно в выбранное время.

    • --weekly-maintenance-window — обновлять в выбранные дни.

      Примечание

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

Важно

  • Не поддерживается использование ключа метаданных user-data для донастройки ВМ и передачи пользовательских данных.
  • Для управления SSH-ключами можно воспользоваться ключом ssh-keys.
  • Для донастройки узлов используйте привилегированные наборы DaemonSet. Например, sysctl-tuner.

Чтобы изменить группу узлов Managed Service for Kubernetes:

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Измените параметры в описании группы узлов Managed Service for Kubernetes.

    • Чтобы изменить настройки масштабирования, измените в блоке scale_policy:

      • Для фиксированного масштабирования — значение параметра fixed_scale.size.

      • Для автоматического масштабирования — параметры в блоке auto_scale:

        • min — минимальное количество узлов в группе.
        • max — максимальное количество узлов в группе.
        • initial — начальное количество узлов в группе.

      Тип масштабирования нельзя изменить.

    • Чтобы изменить облачные метки группы узлов, добавьте блок instance_template.labels:

      resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
        ...
        instance_template {
          ...
          labels {
            "<имя_метки>"="<значение_метки>"
          }
        }
      }
      
    • Чтобы изменить шаблон имени узлов Managed Service for Kubernetes, измените параметр instance_template.name. Для уникальности имени шаблон должен содержать хотя бы одну переменную:

      • {instance_group.id} — идентификатор группы ВМ.
      • {instance.index} — уникальный номер ВМ в группе. Возможные значения: от 1 до N, где N — количество ВМ в группе.
      • {instance.index_in_zone} — номер ВМ в зоне. Уникален в рамках зоны для конкретной группы ВМ.
      • {instance.short_id} — идентификатор ВМ, уникальный в рамках группы. Состоит из четырех букв.
      • {instance.zone_id}— идентификатор зоны.

      Например, prod-{instance.short_id}-{instance_group.id}. Если имя не задано, используется значение по умолчанию: {instance_group.id}-{instance.short_id}.

    • Чтобы изменить DNS-записи:

      1. Создайте внутреннюю или публичную зону DNS.

      2. Добавьте блок instance_template.network_interface.ipv4_dns_records:

        resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
          ...
          instance_template {
            network_interface {
              ipv4_dns_records {
                fqdn        = "<FQDN_записи_DNS>"
                dns_zone_id = "<идентификатор_зоны_DNS>"
                ttl         = "<TTL_записи_DNS_в_секундах>"
                ptr         = "<создание_PTR_записи>"
              }
            }
          }
        }
        

        Где ptr — создание PTR записи: true или false.

        В FQDN записи DNS можно использовать шаблон с переменными:

        • {instance_group.id} — идентификатор группы ВМ.
        • {instance.index} — уникальный номер ВМ в группе. Возможные значения: от 1 до N, где N — количество ВМ в группе.
        • {instance.index_in_zone} — номер ВМ в зоне. Уникален в рамках зоны для конкретной группы ВМ.
        • {instance.short_id} — идентификатор ВМ, уникальный в рамках группы. Состоит из четырех букв.
        • {instance.zone_id}— идентификатор зоны.
  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

    Подробнее в документации провайдера Terraform.

Чтобы изменить параметры группы узлов Managed Service for Kubernetes, воспользуйтесь методом REST API update для ресурса NodeGroup или вызовом gRPC API NodeGroupService/Update.

Примечание

Ниже перечислены параметры для тела запроса к REST API. Чтобы указать параметр в вызове gRPC API, преобразуйте его имя из lowerCamelCase в snake_case. Например, параметр minResourcePresetId преобразуется в min_resource_preset_id.

Чтобы изменить облачные метки группы узлов, передайте значения меток в параметре nodeTemplate.labels.

Чтобы изменить шаблон имени узлов Managed Service for Kubernetes, передайте его в параметре nodeTemplate.name. Для уникальности имени шаблон должен содержать хотя бы одну переменную:

  • {instance_group.id} — идентификатор группы ВМ.
  • {instance.index} — уникальный номер ВМ в группе. Возможные значения: от 1 до N, где N — количество ВМ в группе.
  • {instance.index_in_zone} — номер ВМ в зоне. Уникален в рамках зоны для конкретной группы ВМ.
  • {instance.short_id} — идентификатор ВМ, уникальный в рамках группы. Состоит из четырех букв.
  • {instance.zone_id}— идентификатор зоны.

Например, prod-{instance.short_id}-{instance_group.id}. Если имя не задано, используется значение по умолчанию: {instance_group.id}-{instance.short_id}.

Чтобы изменить DNS-записи, передайте их настройки в параметре nodeTemplate.v4AddressSpec.dnsRecordSpecs. В FQDN записи DNS можно использовать шаблон с переменными для имени узлов nodeTemplate.name.

Настроить политику развертыванияНастроить политику развертывания

С помощью политики развертывания вы можете контролировать количество доступных узлов во время изменения или обновления группы.

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором требуется изменить кластер Managed Service for Kubernetes.

  2. Перейдите в сервис Managed Service for Kubernetes.

  3. Нажмите на имя нужного кластера Managed Service for Kubernetes.

  4. Перейдите во вкладку Группы узлов.

  5. Выберите нужную группу узлов.

  6. Нажмите кнопку Редактировать в правом верхнем углу.

  7. Укажите значения параметров в блоке В процессе создания и обновления разрешено:

    • Расширение размера группы, макс. — максимальное количество узлов, на которое можно расширить группу при ее изменении или обновлении. Значение по умолчанию — 3.
    • Уменьшение размера группы, макс. — максимальное количество узлов, которые могут быть недоступны в ходе изменения или обновления группы. Значение по умолчанию — 0.

    Подробнее в разделе Политика развертывания группы узлов в Managed Service for Kubernetes.

  8. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для изменения группы узлов Managed Service for Kubernetes:

    yc managed-kubernetes node-group update --help
    
  2. Выполните команду:

    yc managed-kubernetes node-group update \
      --name <имя_группы_узлов> \
      --max-expansion <предел_расширения_группы_узлов> \
      --max-unavailable <предел_недоступных_узлов>
    

    Где:

    • --max-expansion — максимальное количество узлов, на которое можно расширить группу при ее изменении или обновлении. Значение по умолчанию — 3.
    • --max-unavailable — максимальное количество узлов, которые могут быть недоступны в ходе изменения или обновления группы. Значение по умолчанию — 0.

    Подробнее в разделе Политика развертывания группы узлов в Managed Service for Kubernetes.

    Имя группы узлов можно запросить со списком групп узлов в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Укажите значения параметров в блоке deploy_policy. Если такого блока нет — добавьте его.

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      cluster_id = yandex_kubernetes_cluster.<имя_кластера>.id
      ...
      deploy_policy {
        max_expansion   = <предел_расширения_группы_узлов>
        max_unavailable = <предел_недоступных_узлов>
      }
      ...
    }
    

    Где:

    • max_expansion — максимальное количество узлов, на которое можно расширить группу при ее изменении или обновлении. Значение по умолчанию — 3.
    • max_unavailable — максимальное количество узлов, которые могут быть недоступны в ходе изменения или обновления группы. Значение по умолчанию — 0.

    Подробнее в разделе Политика развертывания группы узлов в Managed Service for Kubernetes.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее в документации провайдера Terraform.

Воспользуйтесь методом REST API update для ресурса NodeGroup или вызовом gRPC API NodeGroupService/Update.

Примечание

Ниже перечислены параметры для тела запроса к REST API. Чтобы указать параметр в вызове gRPC API, преобразуйте его имя из lowerCamelCase в snake_case. Например, параметр minResourcePresetId преобразуется в min_resource_preset_id.

Передайте в запросе:

  • Идентификатор группы узлов в параметре nodeGroupId.

    Идентификатор группы узлов можно запросить со списком групп узлов в каталоге.

  • Параметр updateMask со значением deployPolicy.maxExpansion,deployPolicy.maxUnavailable.

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

  • Параметр deployPolicy.maxExpansion — максимальное количество узлов, на которое можно расширить группу при ее изменении или обновлении. Значение по умолчанию — 3.
  • Параметр deployPolicy.maxUnavailable — максимальное количество узлов, которые могут быть недоступны в ходе изменения или обновления группы. Значение по умолчанию — 0.

Подробнее в разделе Политика развертывания группы узлов в Managed Service for Kubernetes.

Назначить узлам публичные IP-адресаНазначить узлам публичные IP-адреса

Публичные IP-адреса необходимы для подключения к узлам из интернета и для подключения узлов к внешним ресурсам, например реестрам Docker-образов (Container Registry, Cloud Registry или Docker Hub), а также бакетам Object Storage.

Чтобы обеспечить узлам доступ в интернет, назначьте им публичный IP-адрес и настройте группу безопасности. Также в качестве альтернативы публичным IP-адресам можно создать и настроить в подсети узлов NAT-шлюз или NAT-инстанс.

Если вы назначили узлам кластера публичные IP-адреса и затем настроили NAT-шлюз или NAT-инстанс, доступ в интернет через публичные адреса пропадет. Подробнее читайте в документации Yandex Virtual Private Cloud.

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Managed Service for Kubernetes.
  3. Нажмите на имя нужного кластера.
  4. Перейдите на вкладку Группы узлов.
  5. Выберите нужную группу узлов.
  6. Нажмите кнопку Редактировать в правом верхнем углу.
  7. В блоке Сетевые настройки в поле Публичный адрес выберите способ назначения адреса Автоматически. Узлам будут назначены случайные публичные IP-адреса из пула адресов Yandex Cloud.
  8. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

Для назначения узлам Managed Service for Kubernetes случайных публичных IP-адресов из пула адресов Yandex Cloud:

  1. Получите подробную информацию о команде для изменения группы узлов Managed Service for Kubernetes:

    yc managed-kubernetes node-group update --help
    
  2. Выполните команду изменения группы узлов, передав ей параметр --network-interface:

    yc managed-kubernetes node-group update <идентификатор_или_имя_группы_узлов> \
    ...
      --network-interface security-group-ids=[<идентификаторы_групп_безопасности>],ipv4-address=nat
    

    Имена и идентификаторы групп узлов Managed Service for Kubernetes можно получить со списком групп узлов в каталоге.

Чтобы назначить узлам случайные публичные IP-адреса из пула адресов Yandex Cloud:

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. В описание группы узлов добавьте параметр instance_template.network_interface.nat со значением true:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      instance_template {
        ...
        network_interface {
          nat = true
        }
      }
    }
    
  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

    Подробнее в документации провайдера Terraform.

Примечание

Ниже перечислены параметры для тела запроса к REST API. Чтобы указать параметр в вызове gRPC API, преобразуйте его имя из lowerCamelCase в snake_case. Например, параметр minResourcePresetId преобразуется в min_resource_preset_id.

Воспользуйтесь методом REST API update для ресурса NodeGroup или вызовом gRPC API NodeGroupService/Update и передайте в запросе:

  • Значение nodeTemplate.networkInterfaceSpecs.primaryV4AddressSpec.oneToOneNatSpec.ipVersion в параметре updateMask.

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

  • Значение IPV4 в параметре nodeTemplate.networkInterfaceSpecs.primaryV4AddressSpec.oneToOneNatSpec.ipVersion.

Пересоздать группу узлов с новой taint-политикойПересоздать группу узлов с новой taint-политикой

Важно

При добавлении taint-политик текущая группа узлов Managed Service for Kubernetes удаляется, затем создается группа узлов с новой конфигурацией.

Terraform

Чтобы назначить taint-политику на группу узлов:

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. В описание группы узлов добавьте блок node_taints:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      node_taints = [
        "<ключ>=<значение>:<taint-эффект>",
        ...
      ]
      ...
    }
    

    Укажите произвольные ключ и значение. В качестве taint-эффекта выберите один из доступных:

    • NoSchedule — запретить запуск новых подов на узлах группы (уже запущенные поды продолжат работу).
    • PreferNoSchedule — избегать запуска подов на узлах группы, если для запуска этих подов есть свободные ресурсы в других группах.
    • NoExecute — завершить работу подов на узлах этой группы, расселить их в другие группы, а запуск новых подов запретить.

    Можно назначить несколько taint-политик, в этом случае укажите их через запятую.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

    Подробнее в документации провайдера Terraform.

Пересоздать группу узлов без taint-политикиПересоздать группу узлов без taint-политики

Важно

При удалении taint-политик текущая группа узлов Managed Service for Kubernetes удаляется, затем создается группа узлов с новой конфигурацией.

Terraform

Чтобы снять taint-политику с группы узлов:

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Удалите из описания группы узлов ненужные taint-политики в блоке node_taints.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

    Подробнее в документации провайдера Terraform.

Управлять облачными метками группы узловУправлять облачными метками группы узлов

Вы можете выполнять следующие действия с облачными метками группы узлов Managed Service for Kubernetes:

  • Добавить.
  • Изменить.
  • Удалить.

Добавить облачную меткуДобавить облачную метку

Консоль управления
CLI
Terraform
  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Managed Service for Kubernetes.
  3. Нажмите на имя нужного кластера.
  4. Перейдите во вкладку Группы узлов.
  5. Выберите нужную группу узлов.
  6. Нажмите кнопку Редактировать в правом верхнем углу.
  7. В поле Метки нажмите Добавить метку.
  8. Введите ключ и значение и нажмите Enter.
  9. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

Добавьте облачную метку группе узлов Managed Service for Kubernetes:

yc managed-kubernetes node-group add-labels my-node-group --labels new_label=test_label

Результат:

done (28s)
id: catpl8c44kii********
cluster_id: catcsqidoos7********
...
  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Добавьте в описание группы узлов Managed Service for Kubernetes параметр labels:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      cluster_id = yandex_kubernetes_cluster.<имя_кластера>.id
      ...
      labels = {
        "<облачная_метка>" = "<значение>"
      }
      ...
    }
    
  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

Подробнее в документации провайдера Terraform.

Изменить облачную меткуИзменить облачную метку

Консоль управления
CLI
Terraform

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

  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Managed Service for Kubernetes.
  3. Нажмите на имя нужного кластера.
  4. Перейдите во вкладку Группы узлов.
  5. Выберите нужную группу узлов.
  6. Нажмите кнопку Редактировать в правом верхнем углу.
  7. В поле Метки нажмите на крестик рядом с нужной меткой, чтобы удалить ее.
  8. Нажмите Добавить метку и введите новые ключ и/или значение метки.
  9. Нажмите Enter, а затем — Сохранить.

Измените облачную метку группы узлов Managed Service for Kubernetes:

Важно

Существующий набор меток (labels) полностью перезаписывается набором, переданным в запросе.

yc managed-kubernetes node-group update my-node-group --labels test_label=my_ng_label

Результат:

done (3s)
id: catpl8c44kii********
cluster_id: catcsqidoos7********
...
  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Измените в описании группы узлов Managed Service for Kubernetes значения параметра labels:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      cluster_id = yandex_kubernetes_cluster.<имя_кластера>.id
      ...
      labels = {
        "<облачная_метка>" = "<значение>"
        ...
      }
      ...
    }
    
  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

Подробнее в документации провайдера Terraform.

Удалить облачную меткуУдалить облачную метку

Консоль управления
CLI
Terraform
  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Managed Service for Kubernetes.
  3. Нажмите на имя нужного кластера.
  4. Перейдите во вкладку Группы узлов.
  5. Выберите нужную группу узлов.
  6. Нажмите кнопку Редактировать в правом верхнем углу.
  7. В поле Метки нажмите на крестик рядом с нужной меткой.
  8. Нажмите кнопку Сохранить.

Удалите облачную метку группы узлов Managed Service for Kubernetes:

yc managed-kubernetes node-group remove-labels my-node-group --labels test_label

Результат:

done (2s)
id: catpl8c44kii********
cluster_id: catcsqidoos7********
...
  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Удалите из описания группы узлов Managed Service for Kubernetes ненужные облачные метки в блоке labels.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

Подробнее в документации провайдера Terraform.

Изменить способ подключения к узлам в группе узловИзменить способ подключения к узлам в группе узлов

Примечание

После изменения способа подключения группа узлов временно перейдет в статус Reconciling: все узлы в группе будут пересозданы для применения изменений.

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог.

  2. Перейдите в сервис Managed Service for Kubernetes.

  3. Нажмите на имя нужного кластера.

  4. Перейдите во вкладку Группы узлов.

  5. Выберите нужную группу узлов.

  6. Нажмите кнопку Редактировать в правом верхнем углу.

  7. Измените настройки для способов подключения:

    1. Чтобы включить или выключить доступ к узлам через OS Login, используйте опцию Доступ по OS Login.

      Важно

      Если доступ через OS Login включен, то доступ по SSH-ключам будет невозможен.

      Настройка и использование OS Login подробно рассмотрены в разделе Подключение к узлу через OS Login.

    2. Чтобы включить доступ к узлам с использованием SSH-ключей:

      1. Убедитесь, что доступ через OS Login выключен.
      2. Убедитесь, что в метаданных группы узлов есть хотя бы один SSH-ключ. При необходимости добавьте или удалите ключи, изменив метаданные с ключом ssh-keys.

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

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

      • Включите доступ через OS Login.

      • Измените метаданные, удалив метаданные с ключом ssh-keys.

        После удаления этих метаданных вы не сможете подключиться к узлам кластера Managed Service for Kubernetes, пока не добавите один или несколько SSH-ключей.

  8. Нажмите кнопку Сохранить.

  1. Чтобы включить или выключить доступ к узлам через OS Login, измените значение метаданных с ключом enable-oslogin:

    • true — доступ включен;
    • false — доступ выключен.

    Важно

    Если доступ через OS Login включен, то доступ по SSH-ключам будет невозможен.

    Настройка и использование OS Login подробно рассмотрены в разделе Подключение к узлу через OS Login.

  2. Чтобы включить доступ к узлам с использованием SSH-ключей:

    1. Убедитесь, что доступ через OS Login выключен.
    2. Убедитесь, что в метаданных группы узлов есть хотя бы один SSH-ключ. При необходимости добавьте или удалите ключи, изменив метаданные с ключом ssh-keys.

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

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

    • Включите доступ через OS Login.

    • Измените метаданные, удалив метаданные с ключом ssh-keys.

      После удаления этих метаданных вы не сможете подключиться к узлам кластера Managed Service for Kubernetes, пока не добавите один или несколько SSH-ключей.

  1. Чтобы включить или выключить доступ к узлам через OS Login, измените значение метаданных с ключом enable-oslogin:

    • true — доступ включен;
    • false — доступ выключен.

    Важно

    Если доступ через OS Login включен, то доступ по SSH-ключам будет невозможен.

    Настройка и использование OS Login подробно рассмотрены в разделе Подключение к узлу через OS Login.

  2. Чтобы включить доступ к узлам с использованием SSH-ключей:

    1. Убедитесь, что доступ через OS Login выключен.
    2. Убедитесь, что в метаданных группы узлов есть хотя бы один SSH-ключ. При необходимости добавьте или удалите ключи, изменив метаданные с ключом ssh-keys.

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

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

    • Включите доступ через OS Login.

    • Измените метаданные, удалив метаданные с ключом ssh-keys.

      После удаления этих метаданных вы не сможете подключиться к узлам кластера Managed Service for Kubernetes, пока не добавите один или несколько SSH-ключей.

  1. Чтобы включить или выключить доступ к узлам через OS Login, измените значение метаданных с ключом enable-oslogin:

    • true — доступ включен;
    • false — доступ выключен.

    Важно

    Если доступ через OS Login включен, то доступ по SSH-ключам будет невозможен.

    Настройка и использование OS Login подробно рассмотрены в разделе Подключение к узлу через OS Login.

  2. Чтобы включить доступ к узлам с использованием SSH-ключей:

    1. Убедитесь, что доступ через OS Login выключен.
    2. Убедитесь, что в метаданных группы узлов есть хотя бы один SSH-ключ. При необходимости добавьте или удалите ключи, изменив метаданные с ключом ssh-keys.

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

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

    • Включите доступ через OS Login.

    • Измените метаданные, удалив метаданные с ключом ssh-keys.

      После удаления этих метаданных вы не сможете подключиться к узлам кластера Managed Service for Kubernetes, пока не добавите один или несколько SSH-ключей.

Изменить метаданныеИзменить метаданные

Важно

Настройки метаданных могут повлиять на поведение и работоспособность узлов в группе. Меняйте эти настройки только если вы точно знаете, что хотите сделать.

Передача пользовательских данных в метаданных с ключом user-data не поддерживается.

После изменения метаданных группа узлов временно перейдет в статус Reconciling: все узлы в группе будут пересозданы для применения изменений.

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог.

  2. Перейдите в сервис Managed Service for Kubernetes.

  3. Нажмите на имя нужного кластера.

  4. Перейдите во вкладку Группы узлов.

  5. Выберите нужную группу узлов.

  6. Нажмите кнопку Редактировать в правом верхнем углу.

  7. Раскройте блок Метаданные и измените, добавьте или удалите метаданные для узлов.

    Чтобы добавить метаданные, используйте кнопку Добавить поле. Укажите ключ и значение каждого элемента метаданных в отдельном наборе полей.

  8. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Чтобы добавить или изменить метаданные с определенным ключом:

    1. Посмотрите описание команды CLI для добавления и обновления метаданных группы узлов Managed Service for Kubernetes:

      yc managed-kubernetes node-group add-metadata --help
      
    2. Чтобы добавить новые метаданные или изменить их, если они существуют, выполните команду:

      yc managed-kubernetes node-group add-metadata \
        --name <имя_группы_узлов> \
        --metadata <ключ>=<значение>
      

      Имя группы узлов можно запросить со списком групп узлов в каталоге.

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

      Совет

      Используйте параметр --metadata-from-file вместо --metadata, если нужно получить значение из файла:

      --metadata-from-file <ключ>=<путь_к_файлу_со_значением>
      

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

  2. Чтобы удалить метаданные с определенным ключом:

    1. Посмотрите описание команды CLI для удаления метаданных группы узлов Managed Service for Kubernetes:

      yc managed-kubernetes node-group remove-metadata --help
      
    2. Удалите существующие метаданные:

      yc managed-kubernetes node-group remove-metadata \
        --name <имя_группы_узлов> \
        --keys <ключ>
      

      Имя группы узлов можно запросить со списком групп узлов в каталоге.

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

  1. Откройте актуальный конфигурационный файл Terraform с описанием группы узлов Managed Service for Kubernetes.

    О том, как создать такой файл, читайте в разделе Создание группы узлов.

  2. Чтобы добавить, изменить или удалить метаданные с определенным ключом, измените перечень ключей и значений в параметре instance_template.metadata. Если такого параметра нет — добавьте его.

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      cluster_id = yandex_kubernetes_cluster.<имя_кластера>.id
      ...
      instance_template {
        metadata = {
          "<ключ>" = "<значение>"
          ...
        }
        ...
      }
      ...
    }
    

    Совет

    Используйте функцию file(), если нужно получить значение из файла:

    "<ключ>" = file("<путь_к_файлу_со_значением>")
    

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

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с группами узлов кластера Managed Service for Kubernetes:

    • создание и изменение — 60 минут;
    • удаление — 20 минут.

    Операции, которые длятся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию группы узлов кластера блок timeouts, например:

    resource "yandex_kubernetes_node_group" "<имя_группы_узлов>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

Подробнее в документации провайдера Terraform.

Примечание

Ниже перечислены параметры для тела запроса к REST API. Чтобы указать параметр в вызове gRPC API, преобразуйте его имя из lowerCamelCase в snake_case. Например, параметр minResourcePresetId преобразуется в min_resource_preset_id.

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

    • Воспользуйтесь методом REST API get для ресурса NodeGroup.
    • Используйте вызов gRPC API NodeGroupService/Get.

    Передайте в запросе идентификатор группы узлов в параметре nodeGroupId. Идентификатор можно запросить со списком групп узлов в каталоге.

    Метаданные будут перечислены в виде пар ключ=значение в поле nodeTemplate.metadata ответа.

  2. Воспользуйтесь методом REST API update для ресурса NodeGroup или вызовом gRPC API NodeGroupService/Update и передайте в запросе:

    • Идентификатор группы узлов в параметре nodeGroupId.

    • Параметр updateMask со значением nodeTemplate.metadata.

      Важно

      Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    • Параметр nodeTemplate.metadata, в котором перечислены метаданные группы узлов.

      Внесите нужные изменения в перечень метаданных, который был получен на предыдущем шаге: добавьте, измените или удалите пары ключ=значение. Затем передайте обновленный перечень в параметре nodeTemplate.metadata.

      Внимание

      Метаданные, не перечисленные в параметре nodeTemplate.metadata, будут удалены.

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

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