Тема
Внимание!
Вы можете использовать данный метод установки в официально не поддерживаемые облачные или виртуальные среды с соответствующими рисками, которые вы берете на себя. Например для тестирования byoh агента или облачного/виртуального провайдера.
Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке АРМ
Шаг 1. Проверка ОС
Убедитесь, что на подготовленных машинах не используется FQDN в качестве hostname Проверка:
bash
root@node-1:~/$ hostname
node-1Шаг 2. Подготовка ОС
Подготовьте серверы и установите на них пакеты:
Выполните команду установки пакетов: iscsi-initiator-utils, socat, ebtables, ethtool, conntrack, nfs-utils
bash
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
bash
apt-get install iscsi-initiator-utils socat ebtables ethtool conntrack nfs-utilsШаг 3. Установка host-agent
Установите host-agent боцмана из комплекта поставки. В архиве с дистрибутивом платформы Боцман два типа файлов byoh-agent-*.deb и byoh-agent-*.el7.x86_64.rpm для Ubuntu и AstraLinux.
В случае, если во время планирования инсталляции вы захотели управлять процессом выбора роли сервера, установите соответствующие метки. Для всех будущих членов кластера выполните следующие действия:
"Master"
Выполните команду подключения к серверу и измените systemd unit:
bash
nano /usr/lib/systemd/system/host-agent.serviceВыполните команду приведения строки ExecStart к следующему виду:
bash
ExecStart="/usr/bin/byoh-agent" --label role=masterВыполните команду сохранения полученного результата и перезапуска агента:
bash
systemctl daemon-reload && systemctl restart host-agent"Worker"
Выполните команду подключения к серверу и изменения systemd unit:
bash
nano /usr/lib/systemd/system/host-agent.serviceВыполните команду приведения строки ExecStart к следующему виду:
bash
ExecStart="/usr/bin/byoh-agent" --label role=workerВыполните команду сохранения полученного результата и перезапуска агента:
bash
systemctl daemon-reload && systemctl restart host-agentШаг 4. Подготовка конфигурационного файла (bootsman.config.yaml)
На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl
yaml
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 }++}Заметка
Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее
Предупреждение
K8SCPIP - это IP-адрес, который будет использоваться как адрес kube-apiserver. Он должен быть зарезервирован под задачу обеспечения отказоустойчивости IP сервера и не должен выделяться каким либо другим ресурсом.
Заметка
Pod и Service cidr можно изменить, следуя правилам: маска блоков должна быть не менее 16, блоки не должны пересекаться.
Описание параметров
| Имя параметра | Описание | Комментарий |
|---|---|---|
| K8S_VERSION | Версия Kubernetes для управляющего кластера | Поддерживаемые версии v1.27.6, v1.28.4, v1.29.3 |
| 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 кластеру с сторонней машины |
Шаг 5. Добавление лицензии
Лицензию можно добавить в окружение
bash
export LICENSE=ZzSGquD8GWb2zthw7XJRИли добавить в файл
bash
mkdir -p .bootsmanctl
cat << EOF >> .bootsmanctl/license.lic
ZzSGquD8GWb2zthw7XJR
EOFШаг 6. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ
Выполните команду запуска процесса установки:
bash
./bootsmanctl management create {++${cluster-name}++} -i baremetal -c bootsman.config.yamlГде: ${cluster-name} - имя кластера.
Вывод инсталляции должен окончиться так:
bash
2023-09-10T17:49:46Z | INFO | finishedДоступ в интерфейс
После окончания установки определите IP адрес любого воркера и внесите его в конфиг DNS-сервера. Перейдите в web-панель платформы по адресу, который указывали в конфигурационном файле. (1) Откроется визард настройки с запросом пароля, который указывали в конфиге. (2)
Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD