Перейти к содержимому

Развертывание Nested-кластера ​

Развертывание Nested-кластера подразумевает создание рабочих узлов в необходимой инфраструктуре.

Подготовка конфигурации подчиненного кластера ​

Для разверывания Nested-кластера необходимо заполнить форму создания кластера в Web-интерфейсе или подготовить объекты Cluster.yaml и Workerpool.yaml согласно необходимому типу развертывания.

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

Внесение дополнительных изменений в настройки работы control plane ​

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

При создании кластера через WEB-интерфейс необходимо в блоке Провайдер Control Plane изменить значение с kubeadm на BootsmanNested.

nested_cp
nested_cp

Выбор данного значения также добавляет ниже блок Настройки для BootsmanNested со следующими опциями:

  • внешний etcd - при активации дает воможность более тонко настроить etcd для Nested-кластера.

  • реплики - при активации параметра внешний etcd дает возможность указать, сколько подов etcd будет создано для подчиненного Nested-кластера. Большее количество подов приводит к увеличению отказоустойчивости etcd.

  • Persistence - при активации параметра внешний etcd дает возможность указать, нужно ли создавать персистентное хранилище для пода(-ов) etcd. По умолчанию отключено.

  • Имя StorageClass - при активации параметра Persistence дает возможность указать имя storageClass в управляющем кластере для создания PVC. Пустое поле приведет к использованию storageClass по умолчанию.

  • Размер хранилища - при активации параметра Persistence дает возможность указать размер PVC для каждого пода etcd.

При создании кластера через yaml-манифесты, в манифесте Cluster.yaml нужно заменить блок
spec.capiConfig.controlPlane.kubeadmControlPlane
на
spec.capiConfig.controlPlane.bootsmanNestedControlPlane с необходимым содержимым, например:

Пример

bash
bootsmanNestedControlPlane:
etcd:
  replicas: 3
  persistence:
    storageClassName: longhorn
    storageSize: 2Gi

Внимание

В манифесте Workerpool.yaml ничего править не нужно.

Пример полной конфигурации baremetal

После сохранения заполненной формы в WEB-интерфейсе или применения объектов Cluster.yaml и Workerpool.yaml запустится процесс создания подчиненного Nested-кластера.

Что происходит дальше:

  1. В управляющем-кластере создается пространство имен с указанным именем. В нем создаются поды: kube-apiserver, etcd, konnectivity-server, cloud-controller-manager, kube-controller-manager, kube-scheduler.
  2. Создаются рабочие узлы с использованием указанного провайдера, машины проходят bootstrap и присоединяются к кластеру.
  3. Устанавливаются аддоны вложенного кластера (cilium, coredns, konnectivity-agent, metrics-server, ingress-nginx).

Заметка

Установка Nested-кластера может занимать от двух до десяти минут, в зависимости от инфраструктуры.

Команда Боцман