Установка управляющего кластера
Проверка требований
Требуется vSphere версии 6.7 u3 или выше
Пользователь vSphere
Если требуется использовать ограниченного пользователя, воспользуйтесь инструкцией
Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке:
Шаг 1. Подготовка конфигурационного файла (config)
На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl
touch bootsman.config.yaml
nano bootsman.config.yaml
Заметка
Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее
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@stsoft.ru
wait:
clusterCtlTimeout: 30m0s (33)
operationTimeout: 40m0s (34)
operationRetryInterval: 15s (35)
objCreateTimeout: 4m0s (36)
objCreateInterval: 5s (37)
addonHelmTimeout: 5m (38)
infrastructure:
clusterNetwork:
podCidrBlocks: ["POD_CIDR"] (7)
servicesCidrBlocks: ["SERVICE_CIDR"] (8)
vsphere:
auth:
address: VSPHERE_ADDRESS (9)
user: VSPHERE_USERNAME (10)
password: VSPHERE_PASSWORD (11)
insecure: VSPHERE_INSECURE (12)
datacenter: VSPHERE_DATACENTER (13)
datastore: VSPHERE_DATASTORE (14)
cluster: VSPHERE_CLUSTER (15)
folder: VSPHERE_FOLDER (16)
networkName: VSPHERE_NETWORK (17)
controlPlane:
endpoint:
host: K8SCPIP (18)
port: KUBE_API_PORT (19)
replicas: KCP_REPLICAS (20)
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: VSPHERE_CONTROLPLANE_CPU (21)
memoryMB: VSPHERE_CONTROLPLANE_MEMORY_MB (22)
diskGB: VSPHERE_CONTROLPLANE_DISK_GB (23)
vmTemplate: VSPHERE_CONTROLPLANE_TEMPLATE (24)
workerPool:
replicas: WORKER_REPLICAS (25)
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: VSPHERE_WORKER_CPU (26)
memoryMB: VSPHERE_WORKER_MEMORY_MB (27)
diskGB: VSPHERE_WORKER_DISK_GB (28)
vmTemplate: VSPHERE_WORKER_TEMPLATE (29)
web:
bootstrapPassword: ADDONS_RANCHER_BOOTSTRAPPASSWORD (30)
hostname: ADDONS_RANCHER_WEBHOSTNAME (31)
currentMachineIp: CURRENT_MACHINE_IP_2 (32)
- Версия Kubernetes. Поддерживаемые версии
- Имя пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
- Пароль для пользователя в репозитории образов.
Если установка будет производится online блок registry можно удалить
- URL вашего репозитория образов.
Если установка будет производится online блок registry можно удалить
- Это служебный параметр, всегда будет false
- Список ssh-ключей, которые будут добавлены на узлы
- Блок адресов для Pods.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера.
Минимальный размер блока /16
Пример:
podsCidrBlocks: ["172.20.0.0/16"] - Блок адресов для Service.
Должен не пересекаться с другими блоками внутри одного Kubernetes кластера.
Минимальный размер блока /16
Пример:
servicesCidrBlocks: ["172.21.0.0/16"] - IP адрес или доменное имя вашего vCenter
- Пользователь для подключения к vCenter
- Пароль для подключения к vCenter
- Разрешить доступ при отсутствии валидного сертификата на vSphere
- Имя датацентра
- Имя хранилища, в котором будут размещены новые виртуальные машины
- Имя кластера
- Имя директории, в которых будут размещены новые виртуальные машины
- Имя сети, в которую будут подключены новые виртуальные машины
- IP-адрес балансировщика kube-apiserver для обеспечения отказоустойчивости.
Адрес должен быть свободен и не состоять в dhcp-пулах Подробнее
- Порт kube-api. По-умолчанию 6443
- Количество узлов с ролью master.
Может принимать значения 3 или 5
- Число CPU.
- Объём оперативной памяти. Измеряется в MB.
- Объём дискового пространства. Измеряется в GB.
- Имя шаблона виртуальной машины, из которого будут созданы новые узлы с ролью master
- Число узлов в workerpool. Сумма узлов во всех workerpool должна быть >=3
- Число CPU.
- Объём оперативной памяти. Измеряется в MB.
- Объём дискового пространства. Измеряется в GB.
- Имя шаблона виртуальной машины, из которого будут созданы новые узлы с ролью worker
- Первоначальный пароль от web портала
- URL, по которому будет доступен web портал платформы
- Дополнительный адрес АРМ администратора. Опционально. Для доступа в Kind кластеру с сторонней машины
- Таймаут на все действия bootsmanctl
- Таймаут по-умолчанию для всех операций
- Интервал по-умолчанию для всех операций
- Таймаут на создание или обновление объектов
- Интервал повторной попытки создания или обновления объектов
- Таймаут на установка модулей
Пример заполненного файла конфигурации:
kubernetesVersion: v1.28.4
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@stsoft.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"]
vsphere:
auth:
address: 10.0.0.1
user: admin
password: admin
insecure: true
datacenter: vsphere_datacenter
datastore: vsphere_datastore
cluster: vsphere_cluster
folder: FOLDER_EXAMPLE
networkName: vsphere_dswitch
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: 4
memoryMB: 8192
diskGB: 45
vmTemplate: redos-7.3-kube-1.28.4
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: 4
memoryMB: 12288
diskGB: 60
vmTemplate: redos-7.3-kube-1.28.4
web:
bootstrapPassword: "yourPassword123"
hostname: rancher.redos-v21-ag.dev.stsoft.lan
currentMachineIp: 10.0.1.111
kubernetesVersion: v1.28.4
registry:
username: demo
password: demo
path: redos-quay.stsoft.lan/bootsman-v210
insecure: true
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@stsoft.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"]
vsphere:
auth:
address: 10.0.0.1
user: admin
password: admin
insecure: true
datacenter: vsphere_datacenter
datastore: vsphere_datastore
cluster: vsphere_cluster
folder: FOLDER_EXAMPLE
networkName: vsphere_dswitch
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: 4
memoryMB: 8192
diskGB: 45
vmTemplate: redos-7.3-kube-1.28.4
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: 4
memoryMB: 12288
diskGB: 60
vmTemplate: redos-7.3-kube-1.28.4
web:
bootstrapPassword: "yourPassword123"
hostname: rancher.redos-v21-ag.dev.stsoft.lan
currentMachineIp: 10.0.1.111
Шаг 2. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ. Все последующие команды выполняются на АРМ.
Выполните команду запуска процесса установки:
./bootsmanctl mgmt create cluster-name -i vsphere -c bootsman.config.yaml (1)
- cluster-name - Имя управляющего кластера
Вывод инсталляции должен окончиться так:
2023-09-10T17:49:46Z | INFO | finished
Неудачная инсталляция
В случае, если установка прервалась, и потребуется сделать еще одну попытку. Для новой попытки нужно сделать: * Удалить вручную все что успел создать установщик Ресурсы Bootsman * Удалить файлы инсталляции на АРМ администратора
./bootsmanctl mgmt delete cluster-name
env | grep LICENSE
Доступ в интерфейс
Для успешного доступа в интерфейс нужно добавить запись в ваш DNS-сервер.
Запись состоит из двух параметров: IP-адрес одного из узлов роли worker и доменное имя(Оно указывалось в bootsman.config.yaml в виде опции ADDONS_RANCHER_WEBHOSTNAME).
После добавления записи, произведите вход в web-панель (1)
login: admin
password: ADDONS_RANCHER_BOOTSTRAPPASSWORD (2)
- Адрес web-панели содержится в опции ADDONS_RANCHER_WEBHOSTNAME
- Пароль для доступа в web-панель содержится в опции ADDONS_RANCHER_BOOTSTRAPPASSWORD
Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.

