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

Создание кластера

Для создания кластера Kubernetes:

  1. В панели управления Облачной платформой Selectel перейдите в раздел Kubernetes в проекте (подробнее о проектах).
  2. Нажмите кнопку Создать кластер.

    Обратите внимание! В одном проекте в одном регионе можно создать два кластера Kubernetes.

  3. Введите имя кластера в поле Имя кластера. Имя кластера будет отображаться в именах сущностей кластера: группа нод, нода, балансировщик, сеть и диски. Например, если имя кластера будет kelsie, то имя группы нод будет kelsie-node-gdc8q, а имя загрузочного диска — kelsie-node-gdc8q-volume.

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

  5. Выберите Версию Kubernetes. Сейчас доступны версии 1.15.x, 1.16.x и 1.17.x. Можно обновлять версию Kubernetes в работающем кластере.

  6. Выберите тип кластера:

    • региональный — 3 мастер-ноды создаются распределенно в нескольких зонах доступности в пределах одного региона для обеспечения отказоустойчивости всего кластера;
    • зональный — 1 мастер-нода создается в одной зоне доступности; подходит для кластеров, для которых не требуется высокая надежность.
  7. Группа нод объединяет ноды одной конфигурации в одной зоне. Для настройки группы нод укажите зону, конфигурацию ноды и их количество. Примечание: можно создать кластер с группами нод в разных зонах доступности в тех регионах, где это возможно, что позволит сохранить доступность приложения в случае аварии в одной из зон.

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

  9. Все ноды кластера будут объединены одной приватной сетью, которая будет создана вместе с кластером автоматически. Также будет создан роутер. Можно создать кластер в уже существующей приватной сети, выбрав её в списке.

  10. Установите необходимые чекбоксы для настройки автоматизации. Обратите внимание! Если у кластера всего 1 нода (worker-нода), то автовосстановление нод и автоапгрейд патч-версии Kubernetes недоступны.

  11. Загрузите SSH-ключ, чтобы иметь доступ к нодам. Для создания кластера загружать SSH-ключ необязательно.

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

Обратите внимание! Не рекомендуется вносить в работу нод изменения вручную (изменять настройки ноды через SSH), чтобы избежать некорректной работы кластера.

Создание кластера занимает несколько минут, в это время кластер находится в статусе PENDING_CREATE. Как только кластер переходит в статус ACTIVE, он готов к работе.

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

Статус кластера Описание
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 Ккластер находится в окне обслуживания

Обратите внимание! Для всех статусов, кроме ACTIVE, некоторые действия с кластером могут быть заблокированы на уровне API-сервиса.

Управление нодами

После создания кластера можно управлять нодами в одной группе:

  • уменьшать количество нод;
  • увеличивать количество нод;
  • удалять существующие ноды.

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

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

  1. Установите консольный клиент Kubernetes.
  2. Скачайте kubeconfig кластера из раздела Настройки вашего кластера в панели управления.
  3. Экспортируйте в переменную окружения KUBECONFIG путь к ранее скачанному файлу имя_кластера.yaml:

    export KUBECONFIG=~/<имя_кластера>.yaml
  4. Проверьте корректность настройки, обратившись к кластеру через консольный клиент 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, описанные в официальной документации.