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

Установка подчиненного кластера ​

Требования к запуску нового подчинённого кластера ​

Внимание!

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

Заметка

Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее

Перед началом установки подчинённого кластера следует удовлетворить следующие требования:

  • Успешная установка управляющего кластера Bootsman
  • DNS-имя управляющего кластера должно разрешаться на каждом узле будущего кластера
  • Доступ подчинённого кластера к управляющему
  • Сумма символов будущего имени кластера и имени Namespace не должно превышать 30 символов

Наименования кластеров

Заметка

Для установки подчиненного кластера необходимо подготовить три sub-master и три sub-worker узла, аналогично подготовке машин из документации по установке управляющего кластера.

Установка ​

Установку можно провести двумя способами:

  • Использовать установщик Bootsman
  • Применить yaml-манифесты

Разворачивание с помощью установщика ​

Заметка

Во время заполнения формы вы можете в любой момент переключится в режим yaml

Для создания подчинённого кластера авторизуйтесь в управляющий кластер и нажмите кнопку Кнопка Создания Подчинённого Кластера

Main Page Create ButtonMain Page Create Button

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

Сначала укажите имя нового подчинённого кластера (1)

  1. SUBCLUSTER_NAME

Cluster NameCluster Name

Kubernetes Options ​

Kubernetes OptionsKubernetes Options

Имя параметраОписание
SUBCLUSTER_KUBERNETES_VERSIONВерсия Kubernetes. Поддерживаемые версии
SUBCLUSTER_NAMESPACENamespace управляющего кластера, который будет содержать объекты подчинённого кластера
SUBCLUSTER_POD_CIDRБлок адресов для Pods.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера и реальными сетями вашей инфраструктуры.
Допустимый размер блока /[1-20]
Пример:
podsCidrBlocks: ["172.20.0.0/16"]
SUBCLUSTER_SERVICE_CIDRБлок адресов для Service.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера и реальными сетями вашей инфраструктуры.
Допустимый размер блока /[1-20]
Пример:
servicesCidrBlocks: ["172.21.0.0/16"]

Provider Configuration ​

Provider ConfigurationProvider Configuration

Private Registry ​

В случае, если вы хотите использовать наш репозиторий образов, то переключите параметр "Use private registry" в выключенное состояние и продолжайте заполнять в соотвествии с следующим разделом.

Private Registry OffPrivate Registry Off

Если хотите произвести установку из локального репозитория, то заполните поля из формы ниже

Private RegistryPrivate Registry

Заметка

В случае использования уже существующего секрета на управляющем кластере, следует использовать настройку "Credential settings" "Use existing" Формы помогут найти секрет и указать имена полей, которые соответствуют пользователю и паролю

Заметка

Advanced mode поможет вам задать специфические имена ключей в секрете. По умолчанию, username - пользователь, password - пароль

Имя параметраОписание
PRIVATE_REGISTRY_URLURL вашего репозитория образов.
Если установка будет производится online блок registry можно удалить
PRIVATE_REGISTRY_SECRET_NAMESPACENamespace, в котором размещен secret для авторизации в приватный репозиторий образов
PRIVATE_REGISTRY_SECRET_NAMEИмя secret для авторизации в приватный репозиторий образов
PRIVATE_REGISTRY_USERNAMEИмя пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
PRIVATE_REGISTRY_PASSWORDПароль для пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
PRIVATE_REGISTRY_SECRET_HOST_KEYПри использовании существующего secret. Имя ключа, содержащее параметр HOST
PRIVATE_REGISTRY_SECRET_USERNAME_KEYПри использовании существующего secret. Имя ключа, содержащее параметр USERNAME
PRIVATE_REGISTRY_SECRET_PASSWORD_KEYПри использовании существующего secret. Имя ключа, содержащее параметр PASSWORD

Control Plane ​

Предупреждение

K8SCPIP - это IP-адрес, который будет использоваться как адрес kube-apiserver. Он должен быть зарезервирован под задачу обеспечения отказоустойчивости IP сервера и не должен выделяться каким либо другим ресурсом

Control PlaneControl Plane

Заметка

Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее

Имя параметраОписание
KCP_REPLICASКоличество узлов с ролью master.
Может принимать значения 3 или 5
K8SCPIPIP-адрес балансировщика kube-apiserver для обеспечения отказоустойчивости.
Адрес должен быть свободен и не состоять в dhcp-пулах Подробнее
KUBE_API_PORTПорт kube-api. По-умолчанию 6443
MHC_MAX_UNHEALTYПороговое значение для MachineHealthCheck, при превышении которого не будет выполняться исправления.
Для узлов с ролью master, значение по-умолчанию 100%.
Для узлов с ролью worker, значение по-умолчанию 40%
Подробнее
MHC_TIMEOUTВремя, которое дается узлу на самостоятельное восстановление, прежде чем вмешается MachineHealthCheck.
По-умолчанию 10m
Подробнее
MATCH_LABEL_KEYОпционально. Выбор узла из списка ByoHost по лейблу
MATCH_LABEL_VALUEВыбор узла из списка ByoHost по лейблу
MATCH_RESOURCE_TYPEОпционально. Выбор узла из списка ByoHost по типу ресурсов
MATCH_RESOURCE_RESERVATIONОпционально. Минимальное требуемое число ресурсов. Узлы с меньшим значением не будут использованы
MATCH_RESOURCE_LIMITОпционально. Максимальное требуемое число ресурсов. Узлы с большим значением не будут использованы

WorkerPool ​

Заметка

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

Add Worker PoolAdd Worker Pool

Заметка

Для работы графических ускорителей установите значения для выбора узлов по GPU ( MATCH_RESOURCE_TYPE и MATCH_RESOURCE_RESERVATION )
Если потребуется используйте дополнительные селекторы по LABEL

Worker TemplateWorker Template

Имя параметраОписание
SUBCLUSTER_WORKERPOOL_NAMEИмя пула виртуальных машин
WORKER_REPLICASЧисло узлов в workerpool. Сумма узлов во всех workerpool должна быть >=3
RolesДля большинства инсталляций используйте роль bootsman-worker.
Подробнее о ролях
MHC_MAX_UNHEALTYПороговое значение для MachineHealthCheck, при превышении которого не будет выполняться исправления.
Для узлов с ролью master, значение по-умолчанию 100%.
Для узлов с ролью worker, значение по-умолчанию 40%
Подробнее
MHC_TIMEOUTВремя, которое дается узлу на самостоятельное восстановление, прежде чем вмешается MachineHealthCheck.
По-умолчанию 10m
Подробнее
MATCH_LABEL_KEYОпционально. Выбор узла из списка ByoHost по лейблу
MATCH_LABEL_VALUEВыбор узла из списка ByoHost по лейблу
MATCH_RESOURCE_TYPEОпционально. Выбор узла из списка ByoHost по типу ресурсов
MATCH_RESOURCE_RESERVATIONОпционально. Минимальное требуемое число ресурсов. Узлы с меньшим значением не будут использованы
MATCH_RESOURCE_LIMITОпционально. Максимальное требуемое число ресурсов. Узлы с большим значением не будут использованы

Установка с помощью yaml-манифестов ​

Если вам удобнее способ применения yaml-манифестов, то ниже есть примеры. Заполните их в соответствии с описанием из главы, представленной ранее.

Для применения yaml-манифестов можно использовать kubectl

Заметка

Манифест secret_private_registry.yaml требуется только для установки из вашего приватного репозитория, в случае установки из репозитория Bootsman - пропустите.

bash
kubectl apply -f secret_private_registry.yaml
kubectl apply -f Cluster.yaml
kubectl apply -f Workerpool.yaml

Следующий шаг ​

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