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

Внимание!

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

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

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

Шаг 1. Проверка ОС ​

Убедитесь, что на подготовленных машинах не используется FQDN в качестве hostname Проверка:

bash
root@node-1:~/$ hostname
node-1

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

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

Шаг 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_URLURL вашего репозитория образовВ случае авторизации по лицензии весь блок registry нужно убрать
HARBOR_CREDS_INSECUREЭто служебный параметр, всегда будет falseВ случае авторизации по лицензии весь блок registry нужно убрать
CURRENT_MACHINE_IPIP адрес АРМ администратора
K8SCPIPIP ControlPlaneПодробнее
CONTROLPLANE_COUNTКоличество мастеровМожет принимать значения 3 или 5
CONTROLPLANE_LABELЛейбл должен соотвествовать указателю в host-agentУказать, в случае настройки агентов с лейблами
WORKER_COUNTКоличество воркеровДолжно быть >=3
WORKER_LABELЛейбл должен соотвествовать указателю в host-agentУказать, в случае настройки агентов с лейблами
ADDONS_RANCHER_BOOTSTRAPPASSWORDПервоначальный пароль от web портала
ADDONS_RANCHER_WEBHOSTNAMEURL, по которому будет доступен 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. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.

  1. ADDONS_RANCHER_WEBHOSTNAME
  2. ADDONS_RANCHER_BOOTSTRAPPASSWORD

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