Установка управляющего кластера
Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке АРМ
Заметка
Для работы кластера Bootsman c внешним ETCD потребуется дополнительная подготовка. Подробнее
Шаг 1. Подготовка конфигурационного файла (config)
На АРМ создайте конфиг файл bootsman.config.yaml в той же директории, где расположен инсталлятор-bootsmanctl
Заметка
Обратите внимание на закомментированные блоки. Следует выбрать один из предложенных и раскомментировать.
kubernetesVersion: K8S_VERSION (1)
# Раскоментируйте блок в случае airgap установки
# registry:
# username: HARBOR_CREDS_USER (2)
# password: HARBOR_CREDS_PASSWD (3)
# path: HARBOR_CREDS_URL (4)
# insecure: HARBOR_CREDS_INSECURE (5)
sshAuthorizedKeys: (6)
- 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"] (7)
servicesCidrBlocks: ["172.21.0.0/16"] (8)
brest:
network:
name: BREST_NETWORK_NAME (10)
# Раскоментируйте блок в случае использования существующей сети
# useExisting: true (9)
# Раскоментируйте блок в случае создания новой сети
# options:
# driver: "802.1Q" (29)
# vlanId: "BREST_NETWORK_VLAN_ID" (30)
# address: "BREST_NETWORK_ADDRESS" (31)
# size: BREST_NETWORK_SIZE (32)
# device: "BREST_NETWORK_PHYDEV" (33)
# gateway: "BREST_NETWORK_GATEWAY" (34)
auth:
username: BREST_AUTH_USERNAME (11)
password: BREST_AUTH_PASSWORD (12)
identityEndpoint: BREST_AUTH_URL (13)
controlPlane:
endpoint:
host: K8SCPIP (14)
port: KUBE_API_PORT (15)
replicas: CONTROLPLANE_COUNT (16)
label: ""
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: BREST_TEMPLATE_IMAGE_NAME (17)
cpu: BREST_VM_CONTROLPLANE_CPU (18)
memory: BREST_VM_CONTROLPLANE_MEMORY_GB (19)
disk: BREST_VM_CONTROLPLANE_DISK_GB (20)
workerPool:
replicas: WORKER_REPLICAS (21)
label: ""
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: BREST_TEMPLATE_IMAGE_NAME (22)
cpu: BREST_VM_WORKERPOOL_CPU (23)
memory: BREST_VM_WORKERPOOL_MEMORY_GB (24)
disk: BREST_VM_WORKERPOOL_DISK_GB (25)
web:
bootstrapPassword: ADDONS_RANCHER_WEBHOSTNAME (26)
hostname: ADDONS_RANCHER_WEBHOSTNAME (27)
currentMachineIp: CURRENT_MACHINE_IP_2 (28)
- Версия 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" - Имя сети, в которую будут подключены новые виртуальные машины
- Пользователь для подключения к гипервизору
- Пароль для подключения
- URL для подключения.
Пример:http://10.0.0.10:2633/RPC2 - IP ControlPlane Подробнее
- Порт kube-api. По-умолчанию 6443
- Количество узлов с ролью master.
Может принимать значения 3 или 5
- Имя шаблона виртуальной машины, из которого будут созданы новые виртуальные машины
- Число vCPU.
- Объём оперативной памяти.
- Объём дискового хранилища.
- Количество узлов в workerpool. Сумма узлов во всех workerpool должна быть >=3
- Имя шаблона виртуальной машины, из которого будут созданы новые виртуальные машины
- Число vCPU.
- Объём оперативной памяти.
- Объём дискового хранилища.
- Первоначальный пароль от web портала
- URL, по которому будет доступен web портал платформы
- Дополнительный адрес АРМ администратора. Опционально. Для доступа в Kind кластеру с сторонней машины
- Технический параметр. Значение всегда "802.1Q"
- vlan ID внутри гипервизора Брест
- Начало DHCP-пула Бреста
- Число IP-адресов в DHCP-пуле
- Физическое устройство на узле
- Адрес шлюза
Пример заполненного файла конфигурации:
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"]
brest:
network:
useExisting: true
name: vlan001
auth:
username: bootsman
password: 12345678
identityEndpoint: http://10.0.0.10:2633/RPC2
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: bootsman-redos-brest-k8s-1.27.6
cpu: "4"
memory: "8Gi"
disk: "45Gi"
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: bootsman-redos-brest-k8s-1.27.6
cpu: "4"
memory: "12Gi"
disk: "60Gi"
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"]
brest:
network:
useExisting: true
name: vlan001
auth:
username: bootsman
password: 12345678
identityEndpoint: http://10.0.0.10:2633/RPC2
controlPlane:
endpoint:
host: 10.0.1.10
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: bootsman-redos-brest-k8s-1.27.6
cpu: "4"
memory: "8Gi"
disk: "45Gi"
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
brestMachine:
template:
name: bootsman-redos-brest-k8s-1.27.6
cpu: "4"
memory: "12Gi"
disk: "60Gi"
web:
bootstrapPassword: "yourPassword123"
hostname: rancher.redos-v21-ag.dev.stsoft.lan
currentMachineIp: 10.0.1.111
Шаг 2. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ. Все последующие команды выполняются на АРМ.
Выполните команду запуска процесса установки:
(1)./bootsmanctl management create cluster-name -i brest -c bootsman.config.yaml
- cluster-name - Имя управляющего кластера
Вывод инсталляции должен окончиться так:
2023-09-10T17:49:46Z | INFO | finished
Доступ в интерфейс
После окончания установки определите IP адрес любого узла с ролью worker и внесите его в конфиг DNS-сервера.
Используйте адрес web-панели (1) и пароль (2) из конфигурационном файла (bootsman.config.yaml) для успешной авторизации.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD
Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.