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

Обратите внимание! Не рекомендуется действия с нодами, балансировщиками и дисками кластера производить в панели управления или через SSH, чтобы избежать некорректной работы кластера — при включенном автовосстановлении нод все настройки будут сброшены до начального состояния. Все действия с нодами, балансировщиками и дисками кластера рекомендуем производить только через kubectl.

Настройка окружения

Для начала работы с кластером настройте окружение:

  1. В зависимости от вашей операционной системы установите консольный клиент Kubernetes kubectl по официальной инструкции.
  2. В панели управления Облачной платформой перейдите в раздел Kubernetes.
  3. Выберите нужный кластер и на вкладке Настройки нажмите Скачать kubeconfig.
  4. Экспортируйте в переменную окружения KUBECONFIG путь (<path>) к ранее скачанному YAML-файлу имя_кластера.yaml.

    Для Linux:

    export KUBECONFIG=<path>

    Для Windows:

    SET KUBECONFIG=<path>
  5. Проверьте корректность настройки, обратившись к кластеру через kubectl:

    ~> kubectl get nodes
    NAME                STATUS   ROLES    AGE   VERSION
    cluster-node-5xx55   Ready    <none>   1m   v1.15.7
    cluster-node-9gtgn   Ready    <none>   1m   v1.15.7
    cluster-node-n9mkn   Ready    <none>   1m   v1.15.7

Теперь вы можете управлять кластером через все доступные опции kubectl. Подробнее в официальной документации для Linux и Windows.

Статусы кластера

Статус кластера Описание
ACTIVE Кластер доступен
PENDING_CREATE Кластер создается
PENDING_ROTATE_CERTS Происходит обновление сертификатов и ключей для Kubernetes Control Plane
PENDING_DELETE Кластер удаляется
PENDING_RESIZE Происходит изменение количества нод или групп нод
PENDING_NODE_REINSTALL Происходит переустановка одной из нод
PENDING_UPGRADE_PATCH_VERSION Происходит обновление кластера до новой патч-версии
PENDING_UPGRADE_MINOR_VERSION Происходит обновление кластера до новой минорной версии
PENDING_UPGRADE_MASTERS_CONFIGURATION Происходит обновление конфигурации мастер нод
PENDING_UPGRADE_CLUSTER_CONFIGURATION Происходит обновление конфигурации кластера
PENDING_UPDATE_NODEGROUP Происходит обновление конфигурации группы нод (например, установка меток)
ERROR Кластер в нерабочем состоянии, создайте тикет
MAINTENANCE Кластер находится в окне обслуживания

Обратите внимание! Все действия по изменению конфигурации кластера через API будут доступны, только когда кластер в статусе ACTIVE.

Создание группы нод

Группы нод можно создать при создании кластера Kubernetes.

Через панель управления можно создать кластер только с четырьмя группами нод. Примечание: чтобы добавить больше четырёх групп нод, используйте API.

Создание дополнительной группы нод в панели управления

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Состав кластера.
  3. Нажмите Добавить группу нод.
  4. Настройте конфигурацию нод в группе: выберите зону, конфигурацию (vCPU, RAM, загрузочный диск), количество нод, метки, SSH-ключ.
  5. Нажмите Добавить группу нод.

На время создания группы нод кластер перейдет в статус PENDING_RESIZE.

Созданные в группах ноды отобразятся в разделе Серверы Облачной платформы.

Создание группы нод через Terraform

Через Terraform можно создать группу нод в кластере — готовый пример на GitHub.

Изменение конфигурации нод в группе

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

  1. Добавьте в кластер новую группу нод с нужными настройками.
  2. Перенесите данные на новые ноды.
  3. Удалите старую группу нод.

Примечание: изменить конфигурацию можно таким же образом через kubectl.

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

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Состав кластера.
  3. Выберите группу нод и в меню группы (⋮) нажмите Изменить количество нод.
  4. Введите нужное количество нод и нажмите Изменить количество.

На время создания или удаления нод кластер перейдет в статус PENDING_RESIZE.

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

Управление метками группы нод

Метки помогают отличать ноды одной группы от нод другой группы при работе через kubectl.

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Состав кластера.
  3. Выберите группу нод и в меню группы (⋮) нажмите Управление метками.
  4. Введите Ключ и Значение метки.
  5. Нажмите +, чтобы добавить ещё пару ключ-значение.

На время добавления меток кластер перейдет в статус PENDING_UPDATE_NODEGROUP.

Удаление группы нод

Чтобы удалить группу нод, в панели управления:

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Состав кластера.
  3. Выберите группу нод и в меню группы (⋮) нажмите Удалить группу.
  4. Введите UUID и нажмите Удалить.

На время удаления группы нод кластер перейдет в статус PENDING_RESIZE.

Удаленные ноды перестанут отображаться в разделе Серверы Облачной платформы.

Переустановка ноды

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

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Состав кластера.
  3. Выберите ноду и в её строке нажмите Переустановить ноду (значок Обновить).
  4. Подтвердите переустановку.

На время переустановки ноды кластер перейдет в статус PENDING_NODE_REINSTALL.

Сертификаты

Каждые 30 дней автоматически обновляются сертификаты, используемые для системных компонентов Kubernetes. Также обновляется сертификат, который находится в файле доступа кластера.

Чтобы обновить сертификаты ранее установленного срока, в панели управления:

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Доступ к кластеруСертификаты нажмите Обновить сертификаты.

На время обновления сертификатов кластер перейдет в статус PENDING_ROTATE_CERTS. После обновления сертификатов вам необходимо скачать обновленный файл kubeconfig и заново настроить окружение.

Примечание: вы можете использовать Service Account Token — в таком случае для авторизации в Kubernetes API обновлять сертификаты не требуется.

Автовосстановление нод

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

Подключить автовосстановление нод можно при создании кластера в панели управления.

Чтобы подключить/отключить автовосстановление для уже работающего кластера, в панели управления:

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Автоматизация включите или отключите Автовосстановление нод.

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

Обратите внимание! Если вы меняли конфигурацию нод вручную для некоторых нод, эти изменения будут сброшены до настроек всей группы нод. Также будут отменены настройки, которые не описаны в манифестах кластера.

Автообновление патч-версий

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

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

Подключить автообновление версий можно при создании кластера в панели управления.

Чтобы подключить/отключить автообновление для уже работающего кластера, в панели управления:

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Автоматизация включите или отключите Автообновление патч-версий.

Ручное обновление версий

Если для кластера не подключено автообновление патч-версий Kubernetes, можно обновить версию вручную в панели управления:

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Настройки кластераТекущая версия нажмите Обновить.
  4. Выберите доступную версию и нажмите Запустить обновление.

На время обновления кластер перейдет в статус PENDING_UPGRADE_MINOR_VERSION. Сначала будут обновлены мастер-ноды, а затем рабочие ноды. Процесс может занимать несколько минут.

После запуска остановить обновление будет невозможно.

Окно обслуживания

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

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

При создании кластера в панели управления по умолчанию будет установлено время, соответствующее 4 часам утра в вашем часовом поясе.

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Автоматизация выберите в списке новое Окно обслуживания.

Безопасность

Опция Pod Security Policy включает безопасное создание и обновление подов кластера.

Обратите внимание! Рекомендуется сначала добавить манифесты политик в кластер, а затем включать опцию безопасности.

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

  1. Перейдите в раздел Kubernetes.
  2. Выберите кластер и перейдите на вкладку Настройки.
  3. В блоке Безопасность включите или отключите Pod Security Policy.