Тема
Шаг 0. Подготовка к инсталляции платформы Боцман
Перед началом инсталляции платформы "Боцман" убедитесь, что выполнены все шаги по подготовке АРМ
Шаг 1. Подготовка Образов ОС
Для работы с боцманом вам понадобятся образы ОС.
Самостоятельная подготовка образов
Подробнее в статье создание golden image.
Шаг 2. Подготовка файла конфигурации (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:
AddonHelmTimeout: 10m
clusterCtlTimeout: 30m0s
operationTimeout: 40m0s
operationRetryInterval: 15s
objCreateTimeout: 4m0s
objCreateInterval: 5s
infrastructure:
yandex:
auth:
keyFileLocation: {++${ KEY_FILE_LOCATION }++}
folderId: {++${ YANDEX_FOLDER_ID }++}
zone: {++${ YANDEX_ZONE }++}
network:
name: {++${ YANDEX_NETWORK_NAME }++}
useExisting: {++${ YANDEX_NETWORK_USE_EXISTING }++}
subNetwork:
name: {++${ YANDEX_SUBNETWORK_NAME }++}
useExisting: {++${ YANDEX_SUBNETWORK_USE_EXISTING }++}
cidr:
- {++${ YANDEX_SUBNETWORK_CIDR }++}
privacy: {++${ YANDEX_PRIVACY }++}
clusterNetwork:
podCidrBlocks: ["172.20.0.0/16"]
servicesCidrBlocks: ["172.21.0.0/16"]
controlPlane:
endpoint:
host:
port: 6443
replicas: 3
label: master
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
yandexMachine:
platformId: {++${ YANDEX_TEMPLATEOPTIONS_PLATFORM_ID }++}
cores: {++${ YANDEX_TEMPLATEOPTIONS_CORES }++}
memory: {++${ YANDEX_TEMPLATEOPTIONS_MEMORY }++}
diskType: {++${ YANDEX_TEMPLATEOPTIONS_DISK_TYPE }++}
diskSize: {++${ YANDEX_TEMPLATEOPTIONS_DISK_SIZE }++}
imageId: {++${ YANDEX_TEMPLATEOPTIONS_IMAGE_ID }++}
workerPool:
replicas: 3
label: worker
kubeletExtraArgs:
kubeReserved: ""
systemReserved: ""
evictionHard: ""
evictionMinimumReclaim: ""
evictionMaxPodGracePeriod: ""
maxPods: ""
seccompDefault: ""
yandexMachine:
platformId: {++${ YANDEX_TEMPLATEOPTIONS_PLATFORM_ID }++}
cores: {++${ YANDEX_TEMPLATEOPTIONS_CORES }++}
memory: {++${ YANDEX_TEMPLATEOPTIONS_MEMORY }++}
diskType: {++${ YANDEX_TEMPLATEOPTIONS_DISK_TYPE }++}
diskSize: {++${ YANDEX_TEMPLATEOPTIONS_DISK_SIZE }++}
imageId: {++${ YANDEX_TEMPLATEOPTIONS_IMAGE_ID }++}
web:
bootstrapPassword: {++${ ADDONS_RANCHER_BOOTSTRAPPASSWORD }++}
hostname: {++${ ADDONS_RANCHER_WEBHOSTNAME }++}
currentMachineIp: {++${ CURRENT_MACHINE_IP_2 }++}Описание параметров
| Имя параметра | Описание | Комментарий |
|---|---|---|
| K8S_VERSION | Версия Kubernetes для управляющего кластера | Поддерживаемые версии v1.27.6, v1.28.4, v1.29.3 |
| HARBOR_CREDS_USER | Имя пользователя в репозитории образов | В случае авторизации по лицензии весь блок registry нужно убрать |
| HARBOR_CREDS_PASSWD | Пароль для пользователя в репозитории образов | В случае авторизации по лицензии весь блок registry нужно убрать |
| HARBOR_CREDS_URL | URL вашего репозитория образов | В случае авторизации по лицензии весь блок registry нужно убрать |
| HARBOR_CREDS_INSECURE | Это служебный параметр, всегда будет false | В случае авторизации по лицензии весь блок registry нужно убрать |
| YANDEX_FOLDER_ID | ID каталога, в котором будет развёрнут кластер | Как узнать ID каталога |
| YANDEX_ZONE | Зоны доступности Yandex. | Какие зоны бывают? |
| YANDEX_NETWORK_NAME | Имя сети в каталоге | |
| YANDEX_NETWORK_USE_EXISTING | true, если хотите использовать существующую сеть | |
| YANDEX_SUBNETWORK_NAME | Имя подсети в каталоге | |
| YANDEX_SUBNETWORK_USE_EXISTING | true, если хотите использовать существующую подсеть | |
| YANDEX_SUBNETWORK_CIDR | Адресное пространство для вашего кластера | Не используется в случае YANDEX_SUBNETWORK_USE_EXISTING |
| YANDEX_TEMPLATEOPTIONS_PLATFORM_ID | Выбор типа физического процессора | Какие виды процессоров бывают? |
| YANDEX_TEMPLATEOPTIONS_MEMORY | Какое количество памяти следует заказать узлам | |
| YANDEX_TEMPLATEOPTIONS_CORES | Какое количество ядер следует заказать узлам | |
| YANDEX_TEMPLATEOPTIONS_DISK_TYPE | Тип дискового хранилища. При выборе хранилища учитывайте, что для работы ETCD нужно 3000+ iops | Какие виды хранилищ бывают? |
| YANDEX_TEMPLATEOPTIONS_DISK_SIZE | Размер дискового хранилища | |
| YANDEX_TEMPLATEOPTIONS_IMAGE_ID | ID образа, подготовленного нами | Как узнать ID моего образа |
| YANDEX_PRIVACY | Выбор режима взаимодействия с кластером | Поддерживаемые значения Public, PrivateMachines, Private. Подробнее |
| KEY_FILE_LOCATION | Имя файла с ключом авторизации в облако яндекс. Расположить нужно в директории .bootsmanctl | Создание авторизованного ключа |
| ADDONS_RANCHER_BOOTSTRAPPASSWORD | Первоначальный пароль от web портала | |
| ADDONS_RANCHER_WEBHOSTNAME | URL, по которому будет доступен web портал платформы | |
| CURRENT_MACHINE_IP_2 | Дополнительный адрес АРМ администратора. Опционально | Для доступа в Kind кластеру с сторонней машины |
Пример заполненного файла конфигурации:
Шаг 3. Добавление лицензии
Лицензию можно добавить в окружение
bash
export LICENSE=ZzSGquD8GWb2zthw7XJRИли добавить в файл
bash
mkdir -p .bootsmanctl
cat << EOF >> .bootsmanctl/license.lic
ZzSGquD8GWb2zthw7XJR
EOFШаг 4. Запуск установки
Заметка
Установка платформы "Боцман" запускается с заранее подготовленным АРМ
Выполните команду запуска процесса установки:
bash
./bootsmanctl management create {++${cluster-name}++} -i yandex -c bootsman.config.yamlГде:
- ${cluster-name} - имя кластера;
Вывод инсталляции должен окончиться так:
bash
2023-09-10T17:49:46Z | INFO | finishedДоступ в интерфейс
После окончания установки определите в Yandex Cloud - Network Load Balancer - IP адрес созданного балансировщика с обработчиком https и внесите его в конфиг DNS-сервера. Перейдите в web-панель платформы по адресу, который указывали в конфигурационном файле. (1) Откроется визард настройки с запросом пароля, который указывали в конфиге. (2)
Вы авторизовались под пользователем admin. Рекомендуем сменить пароль с помощью стандартного меню управления пользователями.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD