Тема
Yandex Cloud
Подготовка АРМ администратора
Заметка
Для работы с облаком подготовка АРМ администратора не является обязательной частью.
Для обеспечения работоспособности будет достаточно любого АРМ, который удовлетворяет требованиям:
- Установлен docker
- Произведена авторизация в вашем регистри
- Доступ до yandex cloud
Впоследствии вы сможете управлять вашим кластером с помощью bootsmanctl с любого АРМ, сохранив файлы:
- config
- bootsmanctl
- .bootsmanctl
Подготовка Образов ОС
Для работы с боцманом вам понадобятся образы ОС.
Об этом подробно написано в статье Создание golden image.
Подготовка файла конфигурации (config)
bash
export HARBOR_CREDS_URL=
export HARBOR_CREDS_INSECURE=false
export HARBOR_CREDS_USER=
export HARBOR_CREDS_PASSWD=
export AIRGAP=true
export ADDONS_RANCHER_WEBHOSTNAME=
export CURRENT_MACHINE_IP=
export LICENSE=
export SSH_PUBLIC_KEYS_COMMA_SEPARATED=
export ADDONS_RANCHER_BOOTSTRAPPASSWORD=
export CONTROLPLANE_COUNT=3
export WORKER_COUNT=3
export K8SCPIP=127.0.0.1
export YANDEX_FOLDER_ID=
export YANDEX_ZONE=
export YANDEX_NETWORK_NAME=
export YANDEX_SUBNETWORK_NAME=
export YANDEX_TEMPLATEOPTIONS_PLATFORM_ID=standard-v2
export YANDEX_TEMPLATEOPTIONS_CORES=4
export YANDEX_TEMPLATEOPTIONS_MEMORY=12
export YANDEX_TEMPLATEOPTIONS_DISK_TYPE=network-ssd
export YANDEX_TEMPLATEOPTIONS_DISK_SIZE=65
export YANDEX_TEMPLATEOPTIONS_IMAGE_ID=
export YANDEX_NETWORK_USE_EXISTING=
export YANDEX_SUBNETWORK_USE_EXISTING=
export YANDEX_SUBNETWORK_CIDR=10.200.0.0/24
export YANDEX_AUTHORIZED_KEY_JSON=''
export YANDEX_PRIVACY=Описание параметров
| Имя параметра | Описание | Комментарий |
|---|---|---|
| HARBOR_CREDS_URL | URL вашего регистри | |
| HARBOR_CREDS_INSECURE | Это служебный параметр, всегда будет false | |
| HARBOR_CREDS_USER | Имя пользователя в регистри | Имя пользователя не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры |
| HARBOR_CREDS_PASSWD | Пароль от регистри | Пароль не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры |
| AIRGAP | Режим установки | |
| ADDONS_RANCHER_WEBHOSTNAME | URL, по которому будет доступен web портал платформы | |
| CURRENT_MACHINE_IP | IP адрес АРМ администратора | Для Yandex Cloud можно указать любой |
| LICENSE | Строка из файла license, который вы получили вместе с дистрибутивом | |
| SSH_PUBLIC_KEYS_COMMA_SEPARATED | Ключи, распространённые на узлы. Перечисляются через запятую | |
| ADDONS_RANCHER_BOOTSTRAPPASSWORD | Первоначальный пароль от web портала | |
| CONTROLPLANE_COUNT | Количество мастеров | Может принимать значения 3 или 5 |
| WORKER_COUNT | Количество воркеров | Должно быть >=3 |
| K8SCPIP | IP ControlPlane | Для Yandex Cloud не используется, можно указать любой |
| YANDEX_FOLDER_ID | ID каталога, в котором будет развёрнут кластер | Как узнать ID каталога |
| YANDEX_ZONE | Зоны доступности Yandex. | Какие зоны бывают? |
| YANDEX_NETWORK_USE_EXISTING | true, если хотите использовать существующую сеть | |
| YANDEX_NETWORK_NAME | Имя сети в каталоге | |
| YANDEX_SUBNETWORK_USE_EXISTING | true, если хотите использовать существующую подсеть | |
| YANDEX_SUBNETWORK_NAME | Имя подсети в каталоге | |
| 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 (1) |
| YANDEX_AUTHORIZED_KEY_JSON | Авторизованный ключ в формате json для Yandex Cloud | Создание авторизованного ключа |
Пример заполненного файла конфигурации:
Выбор режима приватности
Заметка
Балансировщик нагрузки для приложений всегда будет иметь белый адрес.
YANDEX_PRIVACY - параметр, который невозможно поменять после установки. Он определяет, какие настройки сети будут применены для:
- Машин
- Балансировщика нагрузки для Kube-api
Режим Public
Самый простой режим: всем сущностям будет выдан белый IP-адрес
Режим PrivateMachines
- Машины будут спрятаны за NAT
- Kube-api будет с белым IP
Режим Private
- Машины за NAT
- Kube-api использует внутренний балансировщик нагрузки и недоступен снаружи
Установка
Перед запуском установки экспортируйте конфигурацию
bash
source configДалее запустите установку
bash
./bootsmanctl management create test-cluster -i yandex -k ${Kubernetes_Version}Вывод инсталляции должен окончиться так:
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