Перейти к содержимому

Шаг 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_URLURL вашего репозитория образовВ случае авторизации по лицензии весь блок registry нужно убрать
HARBOR_CREDS_INSECUREЭто служебный параметр, всегда будет falseВ случае авторизации по лицензии весь блок registry нужно убрать
YANDEX_FOLDER_IDID каталога, в котором будет развёрнут кластерКак узнать ID каталога
YANDEX_ZONEЗоны доступности Yandex.Какие зоны бывают?
YANDEX_NETWORK_NAMEИмя сети в каталоге
YANDEX_NETWORK_USE_EXISTINGtrue, если хотите использовать существующую сеть
YANDEX_SUBNETWORK_NAMEИмя подсети в каталоге
YANDEX_SUBNETWORK_USE_EXISTINGtrue, если хотите использовать существующую подсеть
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_IDID образа, подготовленного намиКак узнать ID моего образа
YANDEX_PRIVACYВыбор режима взаимодействия с кластеромПоддерживаемые значения Public, PrivateMachines, Private. Подробнее
KEY_FILE_LOCATIONИмя файла с ключом авторизации в облако яндекс. Расположить нужно в директории .bootsmanctlСоздание авторизованного ключа
ADDONS_RANCHER_BOOTSTRAPPASSWORDПервоначальный пароль от web портала
ADDONS_RANCHER_WEBHOSTNAMEURL, по которому будет доступен 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. Рекомендуем сменить пароль с помощью стандартного меню управления пользователями.

  1. ADDONS_RANCHER_WEBHOSTNAME
  2. ADDONS_RANCHER_BOOTSTRAPPASSWORD

Команда Боцман