Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for Kubernetes
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Подключение к узлу по SSH
    • Создание файла конфигурации
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Работа с сетевыми политиками кластера Kubernetes
    • Шифрование секретов
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома
      • Подключение тома в блочном режиме
    • Управление кластером Kubernetes
      • Добавление учетных данных кластера Kubernetes в конфигурационный файл kubectl
      • Получение информации о кластере Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Получение информации о группе узлов
      • Создание группы узлов
      • Изменение группы узлов
      • Управление метками узлов кластера
      • Удаление группы узлов
  • Сценарии использования
    • Все сценарии
    • Интеграция с Container Registry
    • Запуск рабочих нагрузок с GPU
    • Установка NGINX Ingress Controller с Let's Encrypt®
    • Резервное копирование в Object Storage
    • Интеграция с корпоративной зоной DNS
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сетевые политики кластера Kubernetes
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST
      • Обзор
      • Cluster
        • Обзор
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listOperations
        • update
      • NodeGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Version
        • Обзор
        • list
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Управление группой узлов
  3. Управление метками узлов кластера

Управление метками узлов кластера Kubernetes

    Вы можете добавлять метки сразу на все узлы в группе узлов. Для этого задайте набор меток в параметре node_labels при создании группы узлов.

    1. Создайте кластер Kubernetes.

      Вы можете использовать уже работающий кластер Kubernetes или создать новый.

      Как создать кластер
      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог, в котором будет создан кластер Kubernetes.
      2. В списке сервисов выберите Managed Service for Kubernetes.
      3. Нажмите кнопку Создать кластер.
      4. Введите имя и описание кластера Kubernetes.
      5. Укажите Сервисный аккаунт для ресурсов, который будет использоваться для создания ресурсов.
      6. Укажите Сервисный аккаунт для узлов, который будет использоваться узлами для доступа к реестру Docker-образов.
      7. Укажите релизный канал.
      8. В блоке Конфигурация мастера:
        • В поле Версия Kubernetes выберите версию Kubernetes, которая будет установлена на мастере.

        • В поле Публичный адрес выберите способ назначения адреса:

          • Автоматически — чтобы назначить случайный IP-адрес из пула адресов Yandex.Cloud.
          • Без адреса — чтобы не назначать публичный IP-адрес.
        • В поле Тип мастера выберите тип мастера:

          • Зональный — создается в подсети в одной зоне доступности.
          • Региональный — создается распределенно в трех подсетях в каждой зоне доступности.
        • Выберите Зону доступности, в которой будет создан мастер.

          Шаг доступен только для зонального мастера.

        • В поле Формат сети выберите способ отображения сетей:

          • Список — отображается список доступных сетей. Если у вас нет облачной сети, нажмите кнопку Создать сеть:
            • В открывшемся окне задайте имя сети. Укажите, что необходимо создать подсети. Нажмите кнопку Создать сеть. По умолчанию будет создана сеть с подсетями в каждой зоне доступности.
          • ID — необходимо ввести уникальные идентификаторы необходимых сетей.
        • В поле Облачная сеть выберите сеть, в которой будет создан мастер.

        • В поле Подсеть выберите подсеть, в которой будет создан мастер.

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

      9. В блоке Настройки окна обновлений:
        • В поле Частота обновлений / Отключение настройте окно для обновлений:
          • Отключено — отключение автоматических обновлений.
          • В любое время — обновления разрешены в любое время.
          • Ежедневно — обновления будут происходить во временном интервале, указанном в поле Время (UTC) и продолжительность.
          • В выбранные дни — обновления будут происходить во временном интервале, указанном в поле Расписание по дням.
      10. В блоке Сетевые настройки кластера:
        • Укажите CIDR кластера — диапазон IP-адресов, из которого будут выделяться IP-адреса для подов.
        • Укажите CIDR сервисов — диапазон IP-адресов, из которого будут выделяться IP-адреса для сервисов.
      11. Нажмите кнопку Создать кластер.

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

      По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

      Создайте кластер Kubernetes:

      yc managed-kubernetes cluster create \
        --name k8s-labels \
        --service-account-name k8s \
        --node-service-account-name docker \
        --zone ru-central1-a \     
        --network-name k8s-labels
      

      Где:

      • --name — имя кластера Kubernetes.
      • --service-account-id — уникальный идентификатор сервисного аккаунта для ресурсов. От его имени будут создаваться ресурсы, необходимые кластеру Kubernetes.
      • --node-service-account-id — уникальный идентификатор сервисного аккаунта для узлов. От его имени узлы будут скачивать из реестра необходимые Docker-образы.
      • --zone — зона доступности.
      • --network-name — имя сети.

      Результат выполнения команды:

      done (6m9s)
      id: abcsk1s2f3fmb5h0pd94
      folder_id: d4f56ga82mev0cljderg
      created_at: "2020-09-24T13:20:45Z"
      name: k8s-labels
      status: RUNNING
      health: HEALTHY
      network_id: higph7rfondivd8jflu9
      master:
       zonal_master:
         zone_id: ru-central1-a
         internal_v4_address: 10.0.0.32
       version: "1.16"
       endpoints:
         internal_v4_endpoint: https://10.0.0.32
       master_auth:
         cluster_ca_certificate: |
           -----BEGIN CERTIFICATE-----
           MIICyDCCAbCgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl
           ...
           piOjXzqDCLzCkfFuNimHejsSvVFN4N1bYYBCBMkhaYDzV5Ypfy/Jy0aHJ9U=
           -----END CERTIFICATE-----
       version_info:
         current_version: "1.16"
       maintenance_policy:
         auto_upgrade: true
         maintenance_window:
           anytime: {}
      ip_allocation_policy:
       cluster_ipv4_cidr_block: 10.112.0.0/16
       node_ipv4_cidr_mask_size: "24
       service_ipv4_cidr_block: 10.96.0.0/16
      service_account_id: ajedclfluactb5868n99
      node_service_account_id: ajeo8f063dmnicot7t7j
      release_channel: REGULAR
      

      Чтобы создать кластер Kubernetes, воспользуйтесь методом create для ресурса Cluster.

    2. Создайте группу узлов с метками.

      При создании группы узлов укажите необходимые метки в формате ключ:значение:

      • В консоли управления в блоке Дополнительно в поле Метки узла.
      • С помощью CLI — укажите флаг --node-labels key=value[,key=value...].
      • С помощью API — выполните запрос методом create для ресурса NodeGroup и укажите метки узла.
      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог, в котором создан кластер Kubernetes.
      2. В списке сервисов выберите Managed Service for Kubernetes.
      3. Выберите кластер Kubernetes, для которого необходимо создать группу узлов.
      4. На странице кластера Kubernetes перейдите на вкладку Группы узлов.
      5. Нажмите кнопку Создать группу узлов.
      6. Введите имя группы узлов.
      7. Укажите Версию Kubernetes для узлов.
      8. В блоке Масштабирование:
        • Выберите тип политики масштабирования.
        • Укажите количество узлов в группе узлов.
      9. В блоке В процессе создания и обновления разрешено укажите максимальное количество виртуальных машин, на которое можно превысить и уменьшить размер группы.
      10. В блоке Вычислительные ресурсы:
        • Выберите платформу.
        • Укажите необходимое количество vCPU и гарантированную долю vCPU, а также объем RAM.
      11. В блоке Хранилище:
        • Укажите Тип диска узла:
          • HDD — стандартный сетевой диск, сетевое блочное хранилище на HDD-накопителе.
          • SSD — быстрый сетевой диск, сетевое блочное хранилище на SSD-накопителе.
        • Укажите размер диска узла.
      12. В блоке Сетевые настройки:
        • В поле Публичный адрес выберите способ назначения адреса:
          • Автоматически — чтобы назначить случайный IP-адрес из пула адресов Yandex.Cloud.
          • Без адреса — чтобы не назначать публичный IP-адрес.
        • Укажите расположение узлов по зонам доступности и сетям.
      13. В блоке Доступ укажите данные для доступа на узел:
        • В поле Логин введите имя пользователя.
        • В поле SSH-ключ вставьте содержимое файла публичного ключа.
      14. В блоке Настройки окна обновлений:
        • В поле Частота обновлений / Отключение выберите окно для обновлений:
          • Отключено — отключение автоматических обновлений.
          • В любое время — обновления разрешены в любое время.
          • Ежедневно — обновления будут происходить во временной интервал, указанный в поле Время (UTC) и продолжительность.
          • В выбранные дни — обновления будут происходить во временной интервал, указанный в поле Расписание по дням.
      15. В блоке Дополнительно:
        • В поле Метки узла нажмите кнопку Добавить метку и укажите ее ключ и значение. Если необходимо, добавьте несколько меток.
      16. Нажмите кнопку Создать группу узлов.

      Создайте группу узлов:

      yc managed-kubernetes node-group create \
       --name k8s-labels-node \
       --cluster-name k8s-labels \
       --disk-type network-ssd \
       --fixed-size 1 \  
       --node-labels environment=production,apps/tier=backend
      

      Где:

      • --name — имя группы узлов.
      • --cluster-name — имя кластера Kubernetes, в котором будет создана группа узлов.
      • --disk-type — тип диска узла.
      • --fixed-size — количество узлов в группе.
      • --node-labels — метки узла. Можно указать несколько меток через запятую.

      Результат выполнения команды:

      done (2m19s)
      id: catkuапро07enihqmk51
      cluster_id: abcsk1s2f3fmb5h0pd94
      created_at: "2020-09-24T13:32:24Z"
      name: k8s-labels-node
      status: RUNNING
      node_template:
        platform_id: standard-v2
        resources_spec:
          memory: "4294967296"
          cores: "2"
          core_fraction: "100"
        boot_disk_spec:
          disk_type_id: network-ssd
          disk_size: "103079215104"
        v4_address_spec: {}
        scheduling_policy: {}
      scale_policy:
        fixed_scale:
          size: "1"
      allocation_policy:
        locations:
        - zone_id: ru-central1-a
          subnet_id: e9bm87gkjd81eroc6dqg
      deploy_policy:
        max_expansion: "3"
      instance_group_id: cl1v2gh33j1c71df9jsv
      node_version: "1.17"
      version_info:
        current_version: "1.17"
      maintenance_policy:
        auto_upgrade: true
        auto_repair: true
        maintenance_window:
          anytime: {}
      node_labels:
        apps/tier: backend
        environment: production
      

      Чтобы создать группу узлов, воспользуйтесь методом create для ресурса NodeGroup.

    3. Посмотрите информацию о созданной группе узлов с метками:

      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог, в котором создан кластер Kubernetes.
      2. В списке сервисов выберите Managed Service for Kubernetes.
      3. Выберите кластер Kubernetes, в котором создана группа узлов.
      4. На странице кластера Kubernetes перейдите на вкладку Узлы.
      5. На странице одного из узлов, перейдите на вкладку Метки. На вкладке перечислены системные и пользовательские метки узла.
      1. Посмотрите все узлы кластера Kubernetes:
      kubectl get nodes
      

      Результат выполнения команды:

      NAME                        STATUS   ROLES    AGE  VERSION
      catkuапро07enihqmk51-hgjd   Ready    <none>   1h   v1.17.8
      catkuапро07enihqmk51-lskc   Ready    <none>   1h   v1.17.8
      
      1. Посмотрите информацию о выбранном узле кластера Kubernetes:
      kubectl describe node catkuапро07enihqmk51-hgjd
      

      Результат выполнения команды:

      Name:               catkuапро07enihqmk51-hgjd
      Roles:              <none>
      Labels:             apps/tier=backend
                          beta.kubernetes.io/arch=amd64
                          beta.kubernetes.io/instance-type=standard-v2
                          beta.kubernetes.io/os=linux
                          environment=production
                          failure-domain.beta.kubernetes.io/zone=ru-central1-a
                          kubernetes.io/arch=amd64
                          kubernetes.io/hostname=catkuапро07enihqmk51-hgjd
                          kubernetes.io/os=linux
                          node.kubernetes.io/kube-proxy-ds-ready=true
                          node.kubernetes.io/masq-agent-ds-ready=true
                          node.kubernetes.io/node-problem-detector-ds-ready=true
                          yandex.cloud/node-group-id=catkuапро07enihqmk51
                          yandex.cloud/pci-topology=k8s
                          yandex.cloud/preemptible=false
      
      

      Чтобы посмотерть информацию об узле, воспользуйтесь методом list для ресурса NodeGroup.

    Language / Region
    Вакансии
    Политика конфиденциальности
    Условия использования
    Брендбук
    © 2021 ООО «Яндекс.Облако»