Установка в гипервизоре vSphere
Проверка требований
Требуется vSphere версии 6.7 u3 или выше
Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке АРМ
Шаг 1. Подготовка конфигурационного файла (config)
На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl
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
addonHelmTimeout: 5m
infrastructure:
clusterNetwork:
podCidrBlocks: ["172.24.0.0/13"]
servicesCidrBlocks: ["172.16.0.0/16"]
vsphere:
auth:
address: ${ VSPHERE_SERV_ADDRESS }
user: ${ VSPHERE_SERV_USER }
password: ${ VSPHERE_SERV_PASSWORD }
insecure: ${ VSPHERE_SERV_INSECURE }
datacenter: ${ VSPHERE_CONFIG_DATACENTER }
datastore: ${ VSPHERE_CONFIG_DATASTORE }
cluster: ${ VSPHERE_CONFIG_CLUSTER }
folder: ${ VSPHERE_CONFIG_FOLDER }
networkName: ${ VSPHERE_CONFIG_NETWORKNAME }
controlPlane:
endpoint:
host: ${ K8SCPIP }
port: 6443
replicas: ${ CONTROLPLANE_COUNT }
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: ${ VSPHERE_CONFIG_VM_CONTROLPLANE_CPU }
memoryMB: ${ VSPHERE_CONFIG_VM_CONTROLPLANE_MEMORY_MB }
diskGB: ${ VSPHERE_CONFIG_VM_CONTROLPLANE_DISK_GB }
vmTemplate: ${ VSPHERE_CONFIG_VMTEMPLATE }
workerPool:
replicas: ${ WORKER_COUNT }
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
vsphereMachine:
cpu: ${ VSPHERE_CONFIG_VM_WORKER_CPU }
memoryMB: ${ VSPHERE_CONFIG_VM_WORKER_MEMORY_MB }
diskGB: ${ VSPHERE_CONFIG_VM_WORKER_DISK_GB }
vmTemplate: ${ VSPHERE_CONFIG_VMTEMPLATE }
web:
bootstrapPassword: ${ ADDONS_RANCHER_WEBHOSTNAME }
hostname: ${ ADDONS_RANCHER_WEBHOSTNAME }
currentMachineIp: ${ CURRENT_MACHINE_IP_2 }
Заметка
Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее
Описание параметров
| Имя параметра | Описание | Комментарий |
|---|---|---|
| K8S_VERSION | Версия Kubernetes для управляющего кластера | Поддерживаемые версии v1.27.6, v1.28.4, v1.29.3 |
| HARBOR_CREDS_URL | URL вашего репозитория образов | |
| HARBOR_CREDS_INSECURE | Это служебный параметр, всегда будет false | |
| HARBOR_CREDS_USER | Имя пользователя в репозитории образов | |
| HARBOR_CREDS_PASSWD | Пароль для пользователя в репозитории образов | |
| ADDONS_RANCHER_WEBHOSTNAME | URL, по которому будет доступен web портал платформы | |
| CURRENT_MACHINE_IP | IP адрес АРМ администратора | |
| ADDONS_RANCHER_BOOTSTRAPPASSWORD | Первоначальный пароль от web портала | |
| CONTROLPLANE_COUNT | Количество мастеров | Может принимать значения 3 или 5 |
| WORKER_COUNT | Количество воркеров | Должно быть >=3 |
| K8SCPIP | IP ControlPlane | |
| VSPHERE_SERV_ADDRESS | IP адрес или доменное имя вашего vCenter | |
| VSPHERE_SERV_INSECURE | Разрешить доступ при отсутствии валидного сертификата на vSphere | |
| VSPHERE_SERV_USER | Пользователь для подключения к vCenter | |
| VSPHERE_SERV_PASSWORD | Пароль для подключения к vCenter | |
| VSPHERE_CONFIG_DATACENTER | Имя датацентра | |
| VSPHERE_CONFIG_CLUSTER | Имя кластера | |
| VSPHERE_CONFIG_FOLDER | Имя директории, в которых будут размещены новые виртуальные машины | |
| VSPHERE_CONFIG_VMTEMPLATE | Имя шаблона виртуальной машины, из которого будут созданы новые виртуальные машины | |
| VSPHERE_CONFIG_DATASTORE | Имя хранилища, в котором будут размещены новые виртуальные машины | |
| VSPHERE_CONFIG_NETWORKNAME | Имя сети, в которую будут подключены новые виртуальные машины | |
| VSPHERE_CONFIG_VM_CONTROLPLANE_CPU | Число vCPU для мастер-нод (минимум 4) | |
| VSPHERE_CONFIG_VM_CONTROLPLANE_MEMORY_MB | Объём оперативной памяти мастер-нод, MB (минимум 8192) | |
| VSPHERE_CONFIG_VM_CONTROLPLANE_DISK_GB | Объём дискового хранилища мастер-нод, GB (минимум 45) | |
| VSPHERE_CONFIG_VM_WORKER_CPU | Число vCPU для воркер-нод (минимум 4) | |
| VSPHERE_CONFIG_VM_WORKER_MEMORY_MB | Объём оперативной памяти воркер-нод, MB (минимум 12288) | |
| VSPHERE_CONFIG_VM_WORKER_DISK_GB | Объём дискового хранилища воркер-нод, GB (минимум 60) | |
| CURRENT_MACHINE_IP_2 | Дополнительный адрес АРМ администратора. Опционально | Для доступа в Kind кластеру с сторонней машины |
Пример заполненного файла конфигурации:
kubernetesVersion: v1.27.6
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3NzaC1lZKKtLOCNv2g bootsman@stsoft.ru
wait:
clusterCtlTimeout: 30m0s
operationTimeout: 40m0s
operationRetryInterval: 15s
objCreateTimeout: 4m0s
objCreateInterval: 5s
addonHelmTimeout: 5m
infrastructure:
clusterNetwork:
podCidrBlocks: ["172.24.0.0/13"]
servicesCidrBlocks: ["172.16.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.27.6
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.24.0.0/13"]
servicesCidrBlocks: ["172.16.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. Добавление лицензии
Лицензию можно добавить в окружение
export LICENSE=ZzSGquD8GWb2zthw7XJR
Или добавить в файл
mkdir -p .bootsmanctl
cat << EOF >> .bootsmanctl/license.lic
ZzSGquD8GWb2zthw7XJR
EOF
Шаг 3. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ. Все последующие команды выполняются на АРМ.
Выполните команду запуска процесса установки:
./bootsmanctl management create ${cluster-name} -i vsphere -c bootsman.config.yaml
Где:
- ${cluster-name} - имя кластера;
Вывод инсталляции должен окончиться так:
2023-09-10T17:49:46Z | INFO | finished
Доступ в интерфейс
После окончания установки определите IP адрес любого воркера и внесите его в конфиг DNS-сервера. Перейдите в web-панель платформы по адресу, который указывали в конфигурационном файле. (1) Хотя бы один вход в web-панель управления платформой обязателен для корректной работы управляющего кластера. После входа в панель управления происходит донастройка необходимых компонентов для работы платформы. Откроется визард настройки с запросом пароля, который указывали в конфиге. (2)
Вы авторизовались под пользователем admin. Рекомендуем сменить пароль с помощью стандартного меню управления пользователями.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD
Удаление установочного кластера kind
В случае если возникли ошибки при установке кластера, перейдите на страницу vSphere и остановите ваши ВМ, а так же в случае необходимости удалите их.
Внимание!
При удалении ВМ, нужные вам данные будут потеряны.
Выполните подключение к АРМ, например:
ssh ${user}@${address_arm}
-
${user}- ваш пользователь; -
${address_arm}- адрес вашего АРМ.
Выполните команду удаления кластера:
./bootsmanctl management delete ${cluster_name}
Где ${cluster_name} - имя кластера.