Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке:
- Подготовлен АРМ Администратора АРМ
- Подготовлен образ операционной системы
Дополнительные возможности инсталяции
На этой странице начиная с Шага 1 будет представлена обычная инсталяция без существенных модификаций и в качестве первого опыта рекомендуется использовать именно ее, но вы можете дополнительно модифицировать свою инсталяцию:
- Установка кластера с внешним Etcd
- Установка Bootsman 1+1 для тестовых сред
- Расширенные настройки мастер-узлов
- Зеркалирование образов контейнеров
Шаг 1. Подготовка конфигурационного файла (config)
На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl
Заметка
Обратите внимание на закомментированные блоки. Следует выбрать один из предложенных и раскомментировать.
kubernetesVersion: KUBERNETES_VERSION (1)
# Раскоментируйте блок в случае airgap установки
# registry:
# username: PRIVATE_REGISTRY_USERNAME (2)
# password: PRIVATE_REGISTRY_PASSWORD (3)
# path: PRIVATE_REGISTRY_URL (4)
# insecure: PRIVATE_REGISTRY_INSECURE (5)
sshAuthorizedKeys: (6)
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@example.ru
wait:
clusterCtlTimeout: 30m0s (29)
operationTimeout: 40m0s (30)
operationRetryInterval: 15s (31)
objCreateTimeout: 4m0s (32)
objCreateInterval: 5s (33)
addonHelmTimeout: 5m (34)
infrastructure:
clusterNetwork:
podCidrBlocks: ["POD_CIDR"] (7)
servicesCidrBlocks: ["SERVICE_CIDR"] (8)
vmmanager:
cluster:
name: VMMANAGER_CLUSTER_NAME (9)
ipPool:
name: VMMANAGER_IPPOOL_NAME (10)
useExisting: true
auth:
username: VMMANAGER_AUTH_USERNAME (11)
password: VMMANAGER_AUTH_PASSWORD (12)
identityEndpoint: VMMANAGER_AUTH_URL (13)
insecure: true
controlPlane:
endpoint:
host: K8SCPIP (14)
port: KUBE_API_PORT (15)
replicas: KCP_REPLICAS (16)
label: ""
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
machineHealthCheck:
timeoutDuration: 15m0s (35)
maxUnhealthy: 100% (36)
vmManagerMachine:
os:
name: VMMANAGER_CONTROLPLANE_OS_TEMPLATE_NAME (17)
vcpu: VMMANAGER_CONTROLPLANE_VCPU (18)
memory: VMMANAGER_CONTROLPLANE_MEMORY_GB (19)
disk: VMMANAGER_CONTROLPLANE_DISK_GB (20)
workerPool:
replicas: WORKER_REPLICAS (21)
label: ""
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
machineHealthCheck:
timeoutDuration: 15m0s (37)
maxUnhealthy: 40% (38)
vmManagerMachine:
os:
name: VMMANAGER_WORKER_OS_TEMPLATE_NAME (22)
vcpu: VMMANAGER_WORKER_VCPU (23)
memory: VMMANAGER_WORKER_MEMORY_GB (24)
disk: VMMANAGER_WORKER_DISK_GB (25)
web:
bootstrapPassword: BOOTSMAN_WEB_BOOTSTRAPPASSWORD (26)
hostname: BOOTSMAN_WEB_HOSTNAME (27)
- Версия Kubernetes. Поддерживаемые версии
- Имя пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
- Пароль для пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
- URL вашего репозитория образов.
Если установка будет производится online блок registry можно удалить
- Это служебный параметр, всегда будет false
- Список ssh-ключей, которые будут добавлены на узлы
- Блок адресов для Pods.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера и реальными сетями вашей инфраструктуры.
Допустимый размер блока /[1-20]
Пример:
podsCidrBlocks: ["172.20.0.0/16"] - Блок адресов для Service.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера и реальными сетями вашей инфраструктуры.
Допустимый размер блока /[1-20]
Пример:
servicesCidrBlocks: ["172.21.0.0/16"] - Имя кластера (группы хостов) VmManager
- Имя пула IP-адресов для сети
- Пользовать VM Manager
- Пароль пользователя VM Manager
- IP-адрес или DNS-имя VmManager.
Пример: http://10.0.0.10:8080
- IP-адрес балансировщика kube-apiserver для обеспечения отказоустойчивости.
Адрес должен быть свободен и не состоять в dhcp-пулах Подробнее
- Порт kube-api. По-умолчанию 6443
- Количество узлов с ролью master.
Может принимать значения 3 или 5
- Имя шаблона ОС виртуальной машины, из которого будут созданы новые узлы с ролью master
- Число vCPU.
- Объём оперативной памяти. Измеряется в GB.
- Объём дискового пространства. Измеряется в GB.
- Число узлов в workerpool. Сумма узлов во всех workerpool должна быть >=3
- Имя шаблона ОС виртуальной машины, из которого будут созданы новые узлы с ролью worker
- Число vCPU.
- Объём оперативной памяти. Измеряется в GB.
- Объём дискового пространства. Измеряется в GB.
- Первоначальный пароль от web портала
- Доменное имя, по которому будет доступен web портал платформы.
Имя должно иметь запись на DNS-сервере.
Нельзя использовать Hosts
Нельзя указывать IP-адрес
- blob
- Таймаут на все действия bootsmanctl
- Таймаут по-умолчанию для всех операций
- Интервал по-умолчанию для всех операций
- Таймаут на создание или обновление объектов
- Интервал повторной попытки создания или обновления объектов
- Таймаут на установка модулей
- Время, которое дается узлу на самостоятельное восстановление, прежде чем вмешается MachineHealthCheck.
По-умолчанию 10m
- Пороговое значение для MachineHealthCheck, при превышении которого не будет выполняться исправления.
Для узлов с ролью master, значение по-умолчанию 100%.
Для узлов с ролью worker, значение по-умолчанию 40%
- Время, которое дается узлу на самостоятельное восстановление, прежде чем вмешается MachineHealthCheck.
По-умолчанию 10m
- Пороговое значение для MachineHealthCheck, при превышении которого не будет выполняться исправления.
Для узлов с ролью master, значение по-умолчанию 100%.
Для узлов с ролью worker, значение по-умолчанию 40%
Пример заполненного файла конфигурации:
kubernetesVersion: v1.28.4
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@example.ru
wait:
clusterCtlTimeout: 30m0s
operationTimeout: 40m0s
operationRetryInterval: 15s
objCreateTimeout: 4m0s
objCreateInterval: 5s
addonHelmTimeout: 5m
infrastructure:
clusterNetwork:
podCidrBlocks: ["172.20.0.0/16"]
servicesCidrBlocks: ["172.21.0.0/16"]
vmmanager:
cluster:
name: vmmanager-cluster
ipPool:
name: vmmanager-ippool
useExisting: true
auth:
username: bootsman
password: 12345678
identityEndpoint: https://10.0.0.10:8080
insecure: true
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
vmManagerMachine:
os:
name: bootsman-astra-1.8-vm6-k8s-1.32.8-v20251203
vcpu: "4"
memory: "8Gi"
disk: "45Gi"
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
vmManagerMachine:
os:
name: bootsman-astra-1.8-vm6-k8s-1.32.8-v20251203
vcpu: "4"
memory: "12Gi"
disk: "60Gi"
web:
bootstrapPassword: "yourPassword123"
hostname: rancher.redos-v21-ag.dev.example.lan
kubernetesVersion: v1.28.4
registry:
username: demo
password: demo
path: redos-quay.stsoft.lan/bootsman-v210
insecure: true
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@example.ru
wait:
clusterCtlTimeout: 30m0s
operationTimeout: 40m0s
operationRetryInterval: 15s
objCreateTimeout: 4m0s
objCreateInterval: 5s
addonHelmTimeout: 5m
infrastructure:
clusterNetwork:
podCidrBlocks: ["172.20.0.0/16"]
servicesCidrBlocks: ["172.21.0.0/16"]
vmmanager:
cluster:
name: vmmanager-cluster
ipPool:
name: vmmanager-ippool
useExisting: true
auth:
username: bootsman
password: 12345678
identityEndpoint: https://10.0.0.10:8080
insecure: true
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
vmManagerMachine:
os:
name: bootsman-astra-1.8-vm6-k8s-1.32.8-v20251203
vcpu: "4"
memory: "8Gi"
disk: "45Gi"
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
eviction-hard: ""
eviction-max-pod-grace-period: ""
eviction-minimum-reclaim: ""
kube-reserved: ""
max-pods: ""
seccomp-default: ""
system-reserved: ""
vmManagerMachine:
os:
name: bootsman-astra-1.8-vm6-k8s-1.32.8-v20251203
vcpu: "4"
memory: "12Gi"
disk: "60Gi"
web:
bootstrapPassword: "yourPassword123"
hostname: rancher.redos-v21-ag.dev.example.lan
Шаг 2. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ. Все последующие команды выполняются на АРМ.
Выполните команду запуска процесса установки:
- cluster-name - Имя управляющего кластера
Вывод инсталляции должен окончиться так:
В процессе установки кластера будет формироватьсяжурнал событий.
Неудачная инсталляция
В случае, если установка прервалась, и потребуется сделать еще одну попытку. Для новой попытки нужно сделать:
- Удалить вручную все что успел создать установщик Ресурсы Bootsman
- Удалить файлы инсталляции на АРМ администратора
- Если лицензия была установлена в env операционной системы - удостовериться в ее наличии
Доступ в интерфейс
Для успешного доступа в интерфейс нужно добавить запись в ваш DNS-сервер.
Запись состоит из двух параметров: IP-адрес одного из узлов роли worker и доменное имя(Оно указывалось в bootsman.config.yaml в виде опции BOOTSMAN_WEB_HOSTNAME).
После добавления записи, произведите вход в web-панель (1)
- Адрес web-панели содержится в опции BOOTSMAN_WEB_HOSTNAME
- Пароль для доступа в web-панель содержится в опции BOOTSMAN_WEB_BOOTSTRAPPASSWORD
Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.

