Перейти к содержанию

Установка управляющего кластера

Внимание!

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

Шаг 0. Подготовка к инсталляции платформы Боцман

Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке АРМ

Заметка

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

Шаг 1. Подготовка ОС

Подготовьте серверы и установите на них пакеты:

Выполните команду установки пакетов: iscsi-initiator-utils, socat, ebtables, ethtool, conntrack, nfs-utils

sudo dnf -y install iscsi-initiator-utils socat ebtables ethtool conntrack nfs-utils
sudo systemctl enable --now iscsid

Выполните команду установки пакетов: conntrack ethtool ebtables socat open-iscsi nfs-common

sudo apt install -y conntrack ethtool ebtables socat open-iscsi nfs-common

Выполните команду установки пакетов: conntrack ethtool ebtables socat open-iscsi nfs-common

sudo apt install -y conntrack ethtool ebtables socat open-iscsi nfs-common

Шаг 2. Установка host-agent

Установите host-agent боцмана из комплекта поставки. В архиве с дистрибутивом платформы Боцман два типа файлов byoh-agent-*.deb и byoh-agent-*.el7.x86_64.rpm для Ubuntu и AstraLinux.

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

"Master"

Выполните команду подключения к серверу и измените systemd unit:

nano /usr/lib/systemd/system/host-agent.service

Выполните команду приведения строки ExecStart к следующему виду:

ExecStart="/usr/bin/byoh-agent" --label role=master

Выполните команду сохранения полученного результата и перезапуска агента:

systemctl daemon-reload && systemctl restart host-agent

"Worker"

Выполните команду подключения к серверу и изменения systemd unit:

nano /usr/lib/systemd/system/host-agent.service

Выполните команду приведения строки ExecStart к следующему виду:

ExecStart="/usr/bin/byoh-agent" --label role=worker

Выполните команду сохранения полученного результата и перезапуска агента:

systemctl daemon-reload && systemctl restart host-agent

Шаг 3. Подготовка конфигурационного файла (bootsman.config.yaml)

На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl

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

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

Заметка

Pod и Service cidr можно изменить, следуя правилам: маска блоков должна быть не менее 16, блоки не должны пересекаться

kubernetesVersion: ${ K8S_VERSION }
registry:
    username: ${ HARBOR_CREDS_USER }
    password: ${ HARBOR_CREDS_PASSWD }
    path: ${ HARBOR_CREDS_URL }
    insecure: ${ HARBOR_CREDS_INSECURE }
sshAuthorizedKeys:
    - ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@stsoft.ru
wait:
    clusterCtlTimeout: 30m0s
    operationTimeout: 40m0s
    operationRetryInterval: 15s
    objCreateTimeout: 4m0s
    objCreateInterval: 5s
infrastructure:
    clusterNetwork:
        podCidrBlocks: ["172.20.0.0/16"]
        servicesCidrBlocks: ["172.21.0.0/16"]
    baremetalProxy:
        currentIp: ${ CURRENT_MACHINE_IP }
        currentPort: 6443
controlPlane:
    endpoint:
        host: ${ K8SCPIP }
        port: 6443
    replicas: ${ CONTROLPLANE_COUNT }
    label: ${ CONTROLPLANE_LABEL }
    kubeletExtraArgs: {}
workerPool:
    replicas: ${ WORKER_COUNT }
    label: ${ WORKER_LABEL }
    kubeletExtraArgs: {}
web:
    bootstrapPassword: ${ ADDONS_RANCHER_BOOTSTRAPPASSWORD }
    hostname: ${ ADDONS_RANCHER_WEBHOSTNAME }
currentMachineIp: ${ CURRENT_MACHINE_IP_2 }
Описание параметров

Имя параметра Описание Комментарий
K8S_VERSION Версия Kubernetes для управляющего кластера Поддерживаемые версии v1.27.6, v1.28.4, v1.29.3, v1.30.7
HARBOR_CREDS_USER Имя пользователя в репозитории образов В случае авторизации по лицензии весь блок registry нужно убрать
HARBOR_CREDS_PASSWD Пароль для пользователя в репозитории образов В случае авторизации по лицензии весь блок registry нужно убрать
HARBOR_CREDS_URL URL вашего репозитория образов В случае авторизации по лицензии весь блок registry нужно убрать
HARBOR_CREDS_INSECURE Это служебный параметр, всегда будет false В случае авторизации по лицензии весь блок registry нужно убрать
CURRENT_MACHINE_IP IP адрес АРМ администратора
K8SCPIP IP ControlPlane Подробнее
CONTROLPLANE_COUNT Количество мастеров Может принимать значения 3 или 5
CONTROLPLANE_LABEL Лейбл должен соотвествовать указателю в host-agent Указать, в случае настройки агентов с лейблами
WORKER_COUNT Количество воркеров Должно быть >=3
WORKER_LABEL Лейбл должен соотвествовать указателю в host-agent Указать, в случае настройки агентов с лейблами
ADDONS_RANCHER_BOOTSTRAPPASSWORD Первоначальный пароль от web портала
ADDONS_RANCHER_WEBHOSTNAME URL, по которому будет доступен web портал платформы
CURRENT_MACHINE_IP_2 Дополнительный адрес АРМ администратора. Опционально Для доступа в Kind кластеру с сторонней машины

Шаг 4. Запуск установки

Заметка

Установка платформы "Боцман" запускается с заранее подготовленным АРМ

Выполните команду запуска процесса установки:

./bootsmanctl management create ${cluster-name} -i baremetal -c bootsman.config.yaml

Где: ${cluster-name} - имя кластера.

Вывод инсталляции должен окончиться так:

2023-09-10T17:49:46Z | INFO  | finished

Доступ в интерфейс

После окончания установки определите IP адрес любого воркера и внесите его в конфиг DNS-сервера. Перейдите в web-панель платформы по адресу, который указывали в конфигурационном файле. (1) Откроется визард настройки с запросом пароля, который указывали в конфиге. (2)

Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.

  1. ADDONS_RANCHER_WEBHOSTNAME
  2. ADDONS_RANCHER_BOOTSTRAPPASSWORD