Установка управляющего кластера
Внимание!
Вы можете использовать данный метод установки в официально не поддерживаемые облачные или виртуальные среды с соответствующими рисками, которые вы берете на себя. Например для тестирования 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. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD