Процесс установки

Инсталляция кластера управления через GUI/CLI, микрокластер, траблшутинг.

Установка выполняется с рабочего места администратора утилитой shtil. В открытом контуре машина shtil и узлы создаваемого кластера должны иметь сетевой доступ к официальному реестру образов r.shturval.tech (HTTPS, порт 443).

Перед установкой сверьтесь с требованиями для открытого контура, с подготовкой к установке (машина shtil, узлы, SSH, реестр образов) и с применимыми сценариями в схемах межсетевого взаимодействия. Про общий состав реестра образов см. также сервисы репозитория.

Доступные сценарии установки:

  • с GUIinstall-gui, затем мастер установки в браузере;
  • с флагамиinstall-cli и подкоманда провайдера;
  • с YAMLinstall-cli … --yaml-path / -f.

Установка с GUI

Установка с GUI состоит из двух этапов: сначала shtil создаёт локальный установочный кластер, затем администратор настраивает кластер управления в веб-мастере.

Команда install-gui также доступна через синонимы create-cluster и create.

Этап 1. Запустите локальный установочный кластер

В открытом контуре обязателен флаг --bootstrap-license. По умолчанию образы временного установочного кластера загружаются с r.shturval.tech.

./shtil install-gui \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ"

С заданным паролем admin:

./shtil install-gui \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --password="ПАРОЛЬ-ADMIN"

Пароль в --password должен быть не короче 8 символов и содержать строчную букву, заглавную букву и цифру.

Основные параметры запуска локального установщика:

Параметр Описание
--bootstrap-license Лицензия платформы. Обязательна для install-gui
--bootstrap-registry Адрес реестра образов; по умолчанию r.shturval.tech
--bootstrap-insecure Отключить проверку TLS при обращении к реестру образов
--bootstrap-registry-certs-dir Каталог с доверенными сертификатами реестра
--bootstrap-kubeconfig-path Путь к kubeconfig локального установочного кластера
--password Пароль администратора платформы для входа в веб-интерфейс
--name, -n Имя локального установочного кластера (подсказка по умолчанию в справке: shturval-installer)
--wait, --retry, --debug Ожидание Control Plane узла локального кластера, число повторов, режим сохранения контейнера при ошибке
-v, --verbosity Детализация лога CLI (до 10; см. ./shtil --help)

После успешного запуска в консоль выводятся данные учётной записи администратора и URL мастера установки в графическом интерфейсе. Учётные данные по умолчанию сохраняются в user.conf в каталоге данных установщика (~/.shturval/installer или /tmp/shturval/installer). Сохраните логин и пароль — они понадобятся для входа в постоянный кластер.

Браузер для веб-интерфейса — см. требования к браузерам.

Если shtil install-gui запускается на удалённой Linux-машине, откройте мастер установки в браузере по IP-адресу или hostname этой машины, без предварительного проброса портов, например, http://10.11.12.13:30080/.

Переход по hostname возможен только при условии, что в DNS настроен резолвинг доменного имени на IP-адрес.

Жизненный цикл локального установщика: кнопка «Отменить инсталляцию» в мастере сбрасывает заполненную форму создания кластера и возвращает к экрану инициализации; обновление страницы без отмены данные полей обычно не сбрасывает. После успешной установки постоянного кластера временный (bootstrap) кластер не удаляется автоматически — при необходимости очистите его по инструкции Деинсталляция временного кластера. При ошибке без --debug контейнер локального установщика может быть удалён; для диагностики используйте ./shtil install-gui ... --debug.

Этап 2. Откройте мастер установки в графическом интерфейсе и пройдите шаги

  1. Откройте URL веб-интерфейса из вывода shtil (обычно http://<ip-машины-shtil>:30080).
  2. Войдите под учётной записью администратора.
  3. Нажмите Создать кластер управления.
  4. Заполните мастер установки и нажмите Создать кластер на шаге проверки данных.
  5. Дождитесь завершения развёртывания (ориентировочно 15–30 минут). Не закрывайте вкладку браузера до завершения установки кластера управления.
Скриншот стартового экрана локального установщика

Стартовый экран локального установщика

Шаг 1. Выбор провайдера

Скриншот и поля шага

Мастер установки кластера управления — выбор провайдера

Поле Описание
Имя кластера Уникальное имя кластера управления. Используется в служебных объектах и FQDN. Указывайте латиницу, цифры и дефис.
Выберите провайдер Выберите провайдера инфраструктуры, подготовленного перед инсталляцией: Shturval v2, VMware vSphere, oVirt и подобные, OpenStack, VK Cloud или Selectel.

Обратите внимание! провайдер, с которым разворачивается платформа, будет установлен в платформе как критически важный сервис - недоступен для отключения. Остальные инфраструктурные провайдеры в платформе будут выключены.

Перед заполнением формы проверьте требования выбранного провайдера: Shturval v2, VMware vSphere, oVirt и подобные провайдеры, OpenStack, VK Cloud, Selectel.

Шаг 2. Конфигурация провайдера

Shturval v2

Провайдер Shturval v2 использует заранее подготовленные физические или виртуальные хосты. Шаблон ВМ для этого провайдера не нужен: мастер подключается к хостам по SSH и устанавливает компоненты на выбранные узлы.

Скриншот и поля шага

Конфигурация провайдера Shturval v2 в мастере install-gui

Поле Описание
Название экземпляра Имя конфигурации провайдера, по которому мастер будет ссылаться на подготовленные хосты.
Пул IP-адресов Пул свободных адресов для API-сервера и VIP Ingress. Если пул не выбран или в нём нет свободных адресов, адреса задаются вручную на шаге основных данных.
Имя пользователя SSH Пользователь для подключения к хостам. У пользователя должны быть права sudo без пароля.
Приватный SSH-ключ Приватный ключ для подключения к хостам. Публичная часть ключа должна быть добавлена на все целевые хосты.
Хосты IP-адреса или FQDN хостов, роли (controlplane, workers, infra и другие) и при необходимости лейблы для выбора узлов в мастере.

По умолчанию в провайдере используются общие учётные данные для всех хостов. При необходимости вы можете указать частные учётные данные для некоторых или всех хостов.

Учётные данные сохраняются в Secret кластера управления в неймспейсе shturval-capsm. Имя Secret формируется из имени экземпляра провайдера с суффиксом capsm-v2-provider-secret. Пример Secret приведён на странице Провайдер Shturval v2 (shturval-capsm).

VMware vSphere

Для провайдера VMware vSphere используйте vCenter и параметры, подготовленные перед инсталляцией. Узлы кластера управления будут созданы из шаблона ВМ; если шаблон не был создан заранее, подготовьте его по инструкции и вернитесь к установке.

Скриншот и поля шага

Конфигурация провайдера VMware vSphere в мастере install-gui

Поле Описание
Название экземпляра Имя конфигурации vSphere в мастере.
Пул IP-адресов Пул для API-сервера и VIP Ingress. Без пула адреса вводятся вручную.
Адрес vCenter IP-адрес или FQDN сервера vCenter.
Имя пользователя Учётная запись vCenter в формате username@domain.
Пароль Пароль учётной записи vCenter.
Datacenter Виртуальный датацентр, доступный после проверки подключения.
Resource Pool Ресурсный пул, в котором будут создаваться ВМ кластера управления.
Network Сеть для ВМ. В сети должен работать DHCP.
Datastore Хранилище для дисков ВМ.
Путь для хранения ВМ Папка или путь на Datastore для файлов ВМ.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Для oVirt и подобных провайдеров используйте Engine, сеть и параметры виртуализации, подготовленные перед инсталляцией. Узлы кластера управления будут созданы из шаблона ВМ; если шаблон не был создан заранее, подготовьте его по инструкции и вернитесь к установке.

Скриншот и поля шага

Конфигурация провайдера oVirt в мастере install-gui

Поле Описание
Название экземпляра Имя конфигурации провайдера в мастере.
URL Engine Полный адрес API Engine, например https://ovirt.example.com/ovirt-engine/api.
Имя пользователя Учётная запись Engine с доменом, например admin@internal.
Пароль Пароль учётной записи Engine.
Проверка сертификата Проверка TLS-сертификата Engine. Отключайте только если доверие к корпоративному или самоподписному CA не настроено.
Datacenter Виртуальный датацентр из списка после успешной проверки подключения.
Кластер (Clusters) Кластер виртуализации, где будут создаваться ВМ.
Профиль VNIC Сетевой профиль для интерфейсов ВМ. В сети должен работать DHCP.
Разрешить CSI Разрешает включить CSI-интеграцию для Persistent Volumes на шаге основных данных.
Пул IP-адресов Пул для API-сервера и VIP Ingress. Без пула адреса вводятся вручную.

OpenStack, VK Cloud, Selectel

Для провайдера OpenStack, VK Cloud или Selectel используйте проект, сеть, типы ВМ и параметры API, подготовленные перед инсталляцией. Узлы кластера управления будут созданы из образа/шаблона ВМ; если он не был создан заранее, подготовьте шаблон ВМ провайдера и вернитесь к установке.

Скриншоты и поля шага

Конфигурация провайдера OpenStack в мастере install-gui

Конфигурация провайдера VK Cloud в мастере install-gui

Конфигурация провайдера Selectel в мастере install-gui

Поле Описание
Auth URL / Identity endpoint URL службы авторизации Keystone.
Project ID Идентификатор проекта в облаке.
Project Domain ID Идентификатор домена проекта.
Region name Регион или зона размещения.
Interface Интерфейс доступа к API, обычно public.
Identity API Version Версия Identity API, обычно 3.
Сертификат (cacert) Корневой сертификат при использовании корпоративного или самоподписного CA.
Проверять сертификат Включает проверку TLS-сертификата API.
Тип учётной записи Сервисный пользователь или токен. Для Selectel используйте сервисного пользователя.
Name / username Имя сервисного пользователя.
Пароль Пароль сервисного пользователя.
User Domain Name Домен пользователя, если он требуется в облаке.
Токен Токен доступа, если выбран тип учётной записи Токен.
Имя провайдера Уникальное имя экземпляра провайдера.
CloudName Имя облака в конфигурации.
Сетевой интерфейс ВМ Имя интерфейса на создаваемых ВМ, например eth0.
sshKeyName SSH-ключ OpenStack для доступа к ВМ.
Подсеть узлов Подсеть для узлов кластера управления.
externalNetworkID Идентификатор внешней сети для внешнего доступа.
Типы ВМ (flavours) Доступные типы виртуальных машин для узлов.
Типы дисков (volume types) Доступные типы томов для дисков ВМ.
Зоны доступности Availability zones при необходимости.
Управление Security Groups Управление группами безопасности со стороны платформы.
Разрешить CSI Разрешает включить OpenStack Cinder CSI на шаге основных данных.

Шаг 3. Основные данные

Shturval v2

Скриншоты и поля шага

Shturval v2 — основные данные, базовый режим

Shturval v2 — основные данные, расширенные настройки

Shturval v2 — внешний балансировщик API

Shturval v2 — внешний балансировщик Ingress

Поле Описание
Версия Kubernetes / версия платформы Совместимая версия Kubernetes и платформы для кластера управления.
Адрес API-сервера кластера IP или FQDN для KubeAPI. Можно выбрать свободный адрес из пула или ввести вручную.
VIP-адрес для Ingress IPv4-адрес для системного Ingress, если внешний балансировщик Ingress не используется.
DNS-запись Ingress Wildcard FQDN для Ingress при использовании DNS вместо VIP.
Использовать внешний балансировщик для Ingress Оставляет для Ingress поле DNS-записи. Внешний балансировщик должен быть подготовлен до запуска развёртывания.
Использовать внешний балансировщик для API-сервера Для API-сервера указывается FQDN внешнего балансировщика. Балансировщик должен быть готов до установки.
Установить расширенные параметры информационной безопасности Включает Secret Encryption для etcd, TLS-соединение с Kubelet и преднастроенную политику аудита.
Подсеть подов CIDR для Pod-сети. Не должен пересекаться с сетью узлов и сервисов.
Подсеть сервисов CIDR для Service ClusterIP. Не должен пересекаться с сетью узлов и подов.
Профиль кластера Набор политик и параметров, применяемых к кластеру.

VIP нужны, если не используются внешние балансировщики для KubeAPI и Ingress. Оба адреса должны быть свободны. Адрес API должен быть в подсети Control Plane, а VIP Ingress должен быть доступен с рабочей станции администратора.

VMware vSphere

Скриншоты и поля шага

VMware vSphere — основные данные, базовый режим

VMware vSphere — основные данные, расширенные настройки

Поле Описание
Шаблон провайдера Шаблон ВМ для нужной версии Kubernetes, подготовленный перед инсталляцией по инструкции. Если шаблон один, он выбирается автоматически.
Адрес API-сервера кластера VIP или FQDN для KubeAPI. Выберите адрес из пула или введите вручную.
VIP-адрес для Ingress IPv4-адрес для системного Ingress в базовом режиме.
VIP-адрес для Ingress или DNS-запись Ingress В расширенном режиме можно указать IPv4-адрес или Wildcard FQDN.
Версия платформы Совместимая версия платформы для выбранного шаблона.
Включить интеграцию CSI Включает vSphere CSI для Persistent Volumes, если это разрешено шаблоном и правами vCenter.
Использовать внешний балансировщик Переводит трафик Ingress на внешний балансировщик; для Ingress указывается DNS-запись.
Установить расширенные параметры информационной безопасности Включает Secret Encryption для etcd, TLS-соединение с Kubelet и преднастроенную политику аудита.
Подсеть подов CIDR для Pod-сети.
Подсеть сервисов CIDR для Service ClusterIP.
Профиль кластера Набор политик и параметров, применяемых к кластеру.

VIP нужны, если не используются внешние балансировщики для KubeAPI и Ingress. Оба адреса должны быть свободны. Адрес API должен быть в подсети Control Plane, а VIP Ingress должен быть доступен с рабочей станции администратора.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Скриншоты и поля шага

oVirt — основные данные, базовый режим

oVirt — основные данные, расширенные настройки

Поле Описание
Шаблон провайдера Шаблон ВМ для нужной версии Kubernetes, подготовленный перед инсталляцией по инструкции.
Версия платформы Совместимая версия платформы для выбранного шаблона.
Адрес API-сервера кластера VIP или FQDN для KubeAPI. Выберите адрес из пула или введите вручную.
VIP-адрес для Ingress IPv4-адрес для системного Ingress в базовом режиме.
VIP-адрес для Ingress или DNS-запись Ingress В расширенном режиме можно указать IPv4-адрес или Wildcard FQDN.
Включить интеграцию CSI Включает CSI-интеграцию, если она разрешена в экземпляре провайдера.
Использовать внешний балансировщик Переводит трафик Ingress на внешний балансировщик; для Ingress указывается DNS-запись.
Установить расширенные параметры информационной безопасности Включает Secret Encryption для etcd, TLS-соединение с Kubelet и преднастроенную политику аудита.
Подсеть подов CIDR для Pod-сети.
Подсеть сервисов CIDR для Service ClusterIP.
Профиль кластера Набор политик и параметров, применяемых к кластеру.

VIP нужны, если не используются внешние балансировщики для KubeAPI и Ingress. Оба адреса должны быть свободны. Адрес API должен быть в подсети Control Plane, а VIP Ingress должен быть доступен с рабочей станции администратора.

OpenStack, VK Cloud, Selectel

Скриншот и поля шага

OpenStack — основные данные

Поле Описание
Экземпляр провайдера Экземпляр OpenStack, VK Cloud или Selectel, в котором указан подготовленный образ/шаблон ВМ. Если экземпляр один, он выбирается автоматически.
Версия платформы Совместимая версия платформы для выбранных образов.
Включить интеграцию CSI Включает CSI для облачных дисков, если это разрешено экземпляром провайдера.
Использовать внешний балансировщик для Ingress Для облачного сценария обычно включено; после создания кластера настройте балансировщик в панели облака.
DNS-запись Ingress Wildcard FQDN. Если поле пустое, применяется автоматическая схема *.<имя-кластера>.ip-<IP_EXTERNAL_LB>.shturval.link.
Установить расширенные параметры информационной безопасности Включает Secret Encryption для etcd, TLS-соединение с Kubelet и преднастроенную политику аудита.
Подсеть подов CIDR для Pod-сети.
Подсеть сервисов CIDR для Service ClusterIP.
Подсеть узлов CIDR для узлов; если не задан, используется подсеть из конфигурации провайдера.
Профиль кластера Набор политик и параметров, применяемых к кластеру.

Шаг 4. Конфигурация Control Plane узлов

Shturval v2

Скриншоты и поля шага

Shturval v2 — Control Plane

Shturval v2 — Control Plane, расширенные настройки

Поле Описание
Количество Control Plane узлов Нечётное значение, не больше 5.
Потенциально доступные хосты Хосты с ролью controlplane или подходящими лейблами.
Селектор хостов Расширенный выбор хостов по лейблам и выражениям.

VMware vSphere

Скриншот и поля шага

VMware vSphere — Control Plane

Поле Описание
Количество Control Plane узлов Нечётное значение, обычно 1 для теста или 3 для отказоустойчивого кластера.
CPU / память / диск Ресурсы ВМ Control Plane. Значения не должны быть ниже минимальных ограничений интерфейса.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Скриншот и поля шага

oVirt — Control Plane

Поле Описание
Количество Control Plane узлов Нечётное значение, не больше 5.
Cores / Sockets / Threads Вычислительные ресурсы ВМ Control Plane.
Память Объём оперативной памяти ВМ.
Диск Объём диска ВМ; при локальном хранилище не меньше минимального значения интерфейса.

OpenStack, VK Cloud, Selectel

Скриншот и поля шага

OpenStack — Control Plane

Поле Описание
Количество Control Plane узлов Нечётное значение, не больше 5.
Тип ВМ Flavor для ВМ Control Plane.
Тип диска Volume type для диска ВМ.
Диск Объём диска ВМ.
Зона доступности Availability zone для размещения Control Plane узлов.

Шаг 5. Конфигурация Worker-узлов

Shturval v2

Скриншоты и поля шага

Shturval v2 — группы Worker

Shturval v2 — параметры Worker

Shturval v2 — селектор Worker

Поле Описание
Группа Worker-узлов Группа хостов, например default или infra.
Масштабирование Ручное количество узлов или автоматический диапазон.
Роль хостов Роль для выбора хостов в базовом режиме, например workers или infra.
Селектор хостов Расширенный выбор Worker-хостов по лейблам.

VMware vSphere

Скриншоты и поля шага

VMware vSphere — группы Worker

VMware vSphere — параметры Worker

Поле Описание
Группа Worker-узлов Группа ВМ, например default или infra.
Масштабирование Ручное количество узлов или автоматический диапазон.
CPU / память / диск Ресурсы ВМ Worker-узлов.
Роли Роли узлов через запятую; они будут добавлены в лейблы узлов.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Скриншоты и поля шага

oVirt — группы Worker

oVirt — параметры Worker

Поле Описание
Группа Worker-узлов Группа ВМ, например default или infra.
Масштабирование Ручное количество узлов или автоматический диапазон.
Cores / Sockets / Threads Вычислительные ресурсы ВМ Worker-узлов.
Память Объём оперативной памяти Worker-узлов.
Диск Объём диска Worker-узлов.
Роли Роли узлов через запятую; они будут добавлены в лейблы узлов.

OpenStack, VK Cloud, Selectel

Скриншот и поля шага

OpenStack — Worker-группы

Поле Описание
Группа Worker-узлов Группа ВМ, например default или infra.
Масштабирование Ручное количество узлов или автоматический диапазон.
Тип ВМ Flavor для Worker-узлов.
Тип диска Volume type для диска Worker-узлов.
Диск Объём диска Worker-узлов.
Зона доступности Availability zone для размещения Worker-узлов.
Роли Роли узлов через запятую; они будут добавлены в лейблы узлов.

Шаг 6. Установка сертификата

Shturval v2

Скриншот и поля шага

Шаг «Установка сертификата»

Вариант Описание
Самоподписной Сертификат выпускается платформой. Подходит для тестовых и внутренних стендов.
Промежуточный Используется промежуточный CA; загрузите цепочку сертификатов и закрытый ключ.
ACME Используется ACME-сервер; укажите корневой CA и URL сервера.
Корпоративный Используется готовый сертификат Ingress и закрытый ключ, выпущенные вашим CA.
Let’s Encrypt Используется Let’s Encrypt; укажите email учётной записи.

VMware vSphere

Скриншот и поля шага

Шаг «Установка сертификата»

Вариант Описание
Самоподписной Сертификат выпускается платформой. Подходит для тестовых и внутренних стендов.
Промежуточный Используется промежуточный CA; загрузите цепочку сертификатов и закрытый ключ.
ACME Используется ACME-сервер; укажите корневой CA и URL сервера.
Корпоративный Используется готовый сертификат Ingress и закрытый ключ, выпущенные вашим CA.
Let’s Encrypt Используется Let’s Encrypt; укажите email учётной записи.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Скриншот и поля шага

Шаг «Установка сертификата»

Вариант Описание
Самоподписной Сертификат выпускается платформой. Подходит для тестовых и внутренних стендов.
Промежуточный Используется промежуточный CA; загрузите цепочку сертификатов и закрытый ключ.
ACME Используется ACME-сервер; укажите корневой CA и URL сервера.
Корпоративный Используется готовый сертификат Ingress и закрытый ключ, выпущенные вашим CA.
Let’s Encrypt Используется Let’s Encrypt; укажите email учётной записи.

OpenStack, VK Cloud, Selectel

Скриншот и поля шага

Шаг «Установка сертификата»

Вариант Описание
Самоподписной Сертификат выпускается платформой. Подходит для тестовых и внутренних стендов.
Промежуточный Используется промежуточный CA; загрузите цепочку сертификатов и закрытый ключ.
ACME Используется ACME-сервер; укажите корневой CA и URL сервера.
Корпоративный Используется готовый сертификат Ingress и закрытый ключ, выпущенные вашим CA.
Let’s Encrypt Используется Let’s Encrypt; укажите email учётной записи.

Шаг 7. Выбор сервисов

Shturval v2

Скриншоты и поля шага

Выбор сервисов по группам

Расширенный выбор сервисов

Поле Описание
Критические сервисы Обязательные компоненты платформы. Всегда включены и недоступны для отключения.
Мониторинг Метрики, дашборды и экспорт метрик.
Логирование Сбор и обработка логов.
Резервное копирование и восстановление Сервисы резервного копирования и работы со snapshot.
Доставка приложений Компоненты непрерывной доставки и стратегий развёртывания.
Балансировщик нагрузки Компоненты распределения нагрузки и управления трафиком.
Инструменты ИБ Анализ конфигураций и сканирование образов.
Показать расширенные настройки Переключает выбор с групп сервисов на отдельные сервисы и чарты.

VMware vSphere

Скриншоты и поля шага

Выбор сервисов по группам

Расширенный выбор сервисов

Поле Описание
Критические сервисы Обязательные компоненты платформы. Всегда включены и недоступны для отключения.
Мониторинг Метрики, дашборды и экспорт метрик.
Логирование Сбор и обработка логов.
Резервное копирование и восстановление Сервисы резервного копирования и работы со snapshot.
Доставка приложений Компоненты непрерывной доставки и стратегий развёртывания.
Балансировщик нагрузки Компоненты распределения нагрузки и управления трафиком.
Инструменты ИБ Анализ конфигураций и сканирование образов.
Показать расширенные настройки Переключает выбор с групп сервисов на отдельные сервисы и чарты.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Скриншоты и поля шага

Выбор сервисов по группам

Расширенный выбор сервисов

Поле Описание
Критические сервисы Обязательные компоненты платформы. Всегда включены и недоступны для отключения.
Мониторинг Метрики, дашборды и экспорт метрик.
Логирование Сбор и обработка логов.
Резервное копирование и восстановление Сервисы резервного копирования и работы со snapshot.
Доставка приложений Компоненты непрерывной доставки и стратегий развёртывания.
Балансировщик нагрузки Компоненты распределения нагрузки и управления трафиком.
Инструменты ИБ Анализ конфигураций и сканирование образов.
Показать расширенные настройки Переключает выбор с групп сервисов на отдельные сервисы и чарты.

OpenStack, VK Cloud, Selectel

Скриншоты и поля шага

Выбор сервисов по группам

Расширенный выбор сервисов

Поле Описание
Критические сервисы Обязательные компоненты платформы. Всегда включены и недоступны для отключения.
Мониторинг Метрики, дашборды и экспорт метрик.
Логирование Сбор и обработка логов.
Резервное копирование и восстановление Сервисы резервного копирования и работы со snapshot.
Доставка приложений Компоненты непрерывной доставки и стратегий развёртывания.
Балансировщик нагрузки Компоненты распределения нагрузки и управления трафиком.
Инструменты ИБ Анализ конфигураций и сканирование образов.
Показать расширенные настройки Переключает выбор с групп сервисов на отдельные сервисы и чарты.

Шаг 8. Проверка данных

Shturval v2

Описание шага

Проверьте сводку параметров: имя кластера, провайдер, адреса API и Ingress, сетевые CIDR, конфигурацию Control Plane, Worker-группы, сертификат и выбранные сервисы. Чтобы исправить параметр, вернитесь к нужному шагу через левую панель или кнопку Назад. После проверки нажмите Создать кластер.

VMware vSphere

Описание шага

Проверьте сводку параметров: имя кластера, провайдер, адреса API и Ingress, сетевые CIDR, конфигурацию Control Plane, Worker-группы, сертификат и выбранные сервисы. Чтобы исправить параметр, вернитесь к нужному шагу через левую панель или кнопку Назад. После проверки нажмите Создать кластер.

oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Описание шага

Проверьте сводку параметров: имя кластера, провайдер, адреса API и Ingress, сетевые CIDR, конфигурацию Control Plane, Worker-группы, сертификат и выбранные сервисы. Чтобы исправить параметр, вернитесь к нужному шагу через левую панель или кнопку Назад. После проверки нажмите Создать кластер.

OpenStack, VK Cloud, Selectel

Описание шага

Проверьте сводку параметров: имя кластера, провайдер, адреса API и Ingress, сетевые CIDR, конфигурацию Control Plane, Worker-группы, сертификат и выбранные сервисы. Чтобы исправить параметр, вернитесь к нужному шагу через левую панель или кнопку Назад. После проверки нажмите Создать кластер.

Статус инсталляции кластера управления

Подробное описание этапов статуса, цветовой индикации, таблиц узлов и сервисов см. Статус развертывания кластера.

После запуска развёртывания на экране отображается статус инсталляции кластера управления с этапами. Не закрывайте вкладку браузера до завершения инсталляции.

По завершении инсталляции вы автоматически перейдёте на этап «Кластер готов». На этом этапе доступны:

  • статический kubeconfig постоянного кластера управления — скачайте и сохраните его;
  • ссылка для перехода в постоянный кластер управления. Для входа используйте логин и пароль администратора платформы, полученные при запуске установки.

Инсталляция кластера управления считается завершённой, когда выполнены минимальные требования:

  • готова инфраструктура;
  • готов минимум 1 Control Plane узел;
  • успешно установлены сервисы shturval-backend, shturval-auth, shturval-frontend, shturval-ingress-controller.

Когда kubeconfig и ссылка в интерфейс постоянного кластера уже доступны, отдельные этапы могут ещё выполняться: например, могут устанавливаться не все сервисы или применяться не все NCI. Вы можете дождаться завершения всех этапов в интерфейсе временного кластера или проверить состояние в постоянном кластере: NCI — на странице Конфигурация узлов, при необходимости правьте узлы через создание и работу с NCI; сервисы — на странице Установленные сервисы.

Установка сервисов репозитория Shturval выполняется в два этапа: сначала поднимаются критически важные сервисы, затем сервисы, выбранные на шаге «Выбор сервисов». Этап установки сервисов репозитория Shturval считается завершённым только после установки всех сервисов: критически важных и выбранных пользователем (состав и обновление артефактов реестра см. в сервисах репозитория). Для кластера управления в статусе также отображается этап «Репликация» со списком conditions репликации.

Установка с флагами

Установка с флагами выполняется командой install-cli (синоним install) без прохождения веб-мастера установки платформы.

Параметры --bootstrap-registry / --bootstrap-insecure обычно не задают: используется публичный реестр образов платформы. Лицензию для временного установочного кластера передайте флагом --bootstrap-license, если не используете заранее подготовленный kubeconfig (--existing-bootstrap-kubeconfig — см. install-cli --help).

Провайдеры

Провайдер / среда Подкоманда install-cli
Shturval v2 shturvalv2
oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization ovirt
VMware vSphere vsphere
OpenStack openstack
VK Cloud vkcloud
Selectel selectel

Общие группы параметров

Сетевой контекст: схемы межсетевого взаимодействия и требования для открытого контура.

Группа Параметры (пример) Назначение
Базовая --api-endpoint, -a, --provider-name, --cluster-name Точка API управления платформы, имена экземпляра провайдера и кластера
Сеть --pod-subnet, --service-subnet CIDR Pod и Service; см. также проверку пересечения подсетей
Ingress --ingress-vip, --ingress-default-fqdn, --use-external-ingress-lb Доступ к Ingress
Системные сервисы --enabled-system-services, --minimal Состав компонентов; см. установку сервисов
Bootstrap --bootstrap-license, --bootstrap-registry, --bootstrap-insecure, --bootstrap-registry-certs-dir, --existing-bootstrap-kubeconfig, --bootstrap-kubeconfig-path, … Подключение временного установочного кластера или использование уже существующего bootstrap-kubeconfig; в открытом контуре чаще достаточно --bootstrap-license. Взаимоисключающие и обязательные комбинации см. --help
Прочее --yaml-path, -f, --platform-version, --overwrite(вместо overwrite можно писать команду -y), --cluster-kubeconfig-path Альтернативная подача настроек, версия платформы, режим перезаписи, путь итогового kubeconfig

При сочетании YAML и флагов для установки сначала читаются поля YAML-файла; перекрываются только те флаги командной строки, которые указаны явно.

Shturval v2 — пример

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster"

Обязательные сочетания и краткие формы (-c, -w, -a и др.) уточняйте в ./shtil install-cli shturvalv2 --help. Полные таблицы по провайдерам — в справочнике флагов.

Минимальная конфигурация (один CP):

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster" \
  --minimal=true

Пример повторного запуска с перезаписью конфликтующих ресурсов на существующем bootstrap-кластере:

bin/shtil install-cli shturvalv2 \
  --overwrite \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/username/sh/kubeconfigs/certs/id_ed25519" \
  --api-endpoint="10.XX.XXX.246" \
  --ingress-vip="10.XX.XXX.252" \
  --controlplane-nodes="10.XX.XXX.145" \
  --worker-nodes="10.XX.XXX.69" \
  --bootstrap-kubeconfig-path="/home/username/sh/kubeconfigs/01bt" \
  -v=10 \
  --cluster-name="mgmt617c1" \
  --provider-name="sht617p1"

Справочник флагов install-cli

Общие параметры (все провайдеры)
Параметр Обязательность Описание
-a, --api-endpoint [string] Да для всех провайдеров кроме OpenStack/VK Cloud/Selectel Адрес API-сервера кластера управления (IP или FQDN без порта и протокола, например 10.11.12.100)
--provider-name [string] Нет Имя экземпляра провайдера (по умолчанию cluster-management-provider)
--cluster-name [string] Нет Имя кластера (по умолчанию cluster-management)
--pod-subnet [string] Нет Подсеть Pod в формате CIDR (по умолчанию 172.16.0.0/16)
--service-subnet [string] Нет Подсеть Service в формате CIDR (по умолчанию 10.96.0.0/12)
--ingress-default-fqdn [string] Да, если не задан --ingress-vip. Нет для OpenStack/VK Cloud/Selectel Wildcard DNS для Ingress (например *.apps.example.corp)
--ingress-vip [string] Да, если не задан --ingress-default-fqdn. Нельзя для OpenStack/VK Cloud/Selectel VIP Ingress; сочетание с внешним/внутренним LB уточняйте в справке
--use-external-ingress-lb Нет Внешний балансировщик Ingress. Для OpenStack/VK Cloud/Selectel обычно true
--secure Нет Расширенные настройки безопасности (по умолчанию false)
--ingress-certs-* Нет Пути к CA/TLS/ACME для Ingress (--ingress-certs-ca-crt-path, --ingress-certs-tls-crt-path, --ingress-certs-acme-url и др.; см. справку)
--enabled-system-services [string] Нет Список системных сервисов через запятую. С --minimal=true игнорируется
--bootstrap-kubeconfig-path, -b Нет Путь к kubeconfig временного кластера
--bootstrap-license [string] Как правило да, если нет готового bootstrap-kubeconfig Лицензия; при спецсимволах — одинарные кавычки
--bootstrap-registry [string] Нет Реестр образов (по умолчанию r.shturval.tech)
--bootstrap-insecure Нет Не проверять TLS реестра
--yaml-path, -f Нет Путь к YAML манифесту постоянного кластера
--minimal Нет Минимальный набор сервисов (часто один CP)
--platform-version [string] Нет Версия платформы (по умолчанию = версии shtil)
-y, --overwrite Нет Принудительное обновление при повторном запуске
-v, --verbosity Нет Детализация лога
Shturval v2
Параметр Обязательность Описание
--path-ssh-private-key [string] Да Путь к приватному SSH-ключу
--ssh-user [string] Да Пользователь SSH
-c, --controlplane-nodes [string] Да IP/FQDN Control Plane через запятую
-w, --worker-nodes [string] Да, если --minimal false IP/FQDN Worker через запятую
--use-external-kubeapi-lb Нет Внешний балансировщик KubeAPI
oVirt / zVirt / HostVM / РЕД Виртуализация / ROSA Virtualization
Параметр Обязательность Описание
-u, --url-provider Да URL API Engine, с суффиксом /ovirt-engine/api
--user-provider Да Учётная запись (например admin@internal)
--password-provider Да Пароль; при спецсимволах — кавычки
--tls-insecure-provider Нет Отключить проверку TLS к Engine
--tls-cert-path-provider Нет Путь к доверенному CA
--sub-type-provider Нет zvirt, hostvm, redvirt, rosavirt
--datacenter-provider Да Имя датацентра
--datacenter-cluster-provider Да Имя кластера
--vnic-profile-provider Да VNIC-профиль
-t, --template Да Шаблон ВМ
--provider-csi-storage Да Storage Domain для CSI
--allow-csi Нет Разрешить CSI
--control-plane, --workers Нет Количество узлов
--cores-control-plane, --memory-control-plane, --disk-control-plane, --sockets-*, --threads-* Нет Ресурсы ВМ Control Plane
--cores-workers, --memory-workers, --disk-workers, … Нет Ресурсы Worker
VMware vSphere
Параметр Обязательность Описание
--address-vcenter Да FQDN или IP vCenter
--user-vcenter Да Учётная запись
--password-vcenter Да Пароль
--provider-datacenter Да Датацентр
--provider-datastore Да Datastore
--provider-resource-pool Да Resource pool
--provider-network Да Сеть (DHCP для ВМ узлов)
--provider-folder Да Папка ВМ
--provider-clone-mode Нет linkedClone / fullClone
--provider-storage-policy Нет Storage policy при необходимости
-t, --template Да Шаблон ВМ
--enable-csi Нет Включить CSI
--control-plane, --workers Нет Количество узлов
--cpu-control-plane, --memory-control-plane, --disk-control-plane Нет Ресурсы CP
--cpu-workers, --memory-workers, --disk-workers Нет Ресурсы Worker
OpenStack / VK Cloud / Selectel
Параметр Обязательность Описание
--url-auth Да для OpenStack; может не требоваться для VK/Selectel Keystone URL с портом, например https://openstack.example.com:5000/v3
--project-id Да ID проекта
--project-domain-id Да ID домена проекта
--tls-insecure-provider Нет Пропустить проверку TLS
--tls-cert-path Нет PEM CA для API
--region-name Нет Регион
--interface Нет Интерфейс endpoint (public и др.)
--identity-api-version Нет Версия Identity API
--token Условно Токен (OpenStack; не вместе с login/password)
--login Условно Сервисная УЗ
--password Условно Пароль УЗ
--user-domain-name Условно Домен пользователя
--cloud-name Да Имя облака в терминах облачного API
--ssh-key-name Да Имя SSH keypair в облаке
--node-cidr Да Подсеть узлов, например 10.0.0.0/24
--external-network-id Да ID внешней сети
--flavors Да Список flavor через запятую
--volume-types Да Типы томов через запятую
--availability-zones Нет Зоны доступности
--manage-security-groups, --disable-port-security, --dns Нет Сеть/SEC
--machine-image-name Да Имя образа/шаблона ВМ
--enable-csi Нет CSI
--control-plane, --workers Нет Число узлов
--flavor-name-cp, --volume-type-cp, --availability-zone-cp, --disk-cp Нет CP в облаке
--flavor-name-workers, --volume-type-workers, … Нет Workers в облаке

Примеры команд под выбранную сетевую схему

Порты, протоколы и матрицы трафика — на странице Схемы межсетевого взаимодействия. Ниже — отдельные команды для копирования: блок install-gui (реестр по умолчанию r.shturval.tech) и примеры install-cli под сеть кластера управления.

Локальный установщик (install-gui)

./shtil install-gui \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ"

Shturval v2 — внутренний KubeAPI, внешний Ingress

Схемы: с CoreHA на клиенте, без него на схеме клиента.

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="10.11.12.100" \
  --ingress-default-fqdn="*.apps.example.corp" \
  --use-external-ingress-lb=true \
  --cluster-name="mgmt-cluster"

Shturval v2 — внутренний KubeAPI и внутренний Ingress

Схема: внутренний Ingress (VIP Worker).

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster"

Shturval v2 — внешний KubeAPI и внешний Ingress

Схема: оба внешних балансировщика.

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="api.example.corp" \
  --use-external-kubeapi-lb=true \
  --ingress-default-fqdn="*.apps.example.corp" \
  --use-external-ingress-lb=true \
  --cluster-name="mgmt-cluster"

Shturval v2 Stand-alone — внутренний KubeAPI и внутренний Ingress

Схема: stand-alone, оба VIP внутри кластера.

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster"

Shturval v2 Stand-alone — внутренний KubeAPI, внешний Ingress

Схема: stand-alone и внешний Ingress LB.

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1,10.11.12.2,10.11.12.3" \
  --worker-nodes="10.11.12.11,10.11.12.12,10.11.12.13" \
  --api-endpoint="10.11.12.100" \
  --ingress-default-fqdn="*.apps.example.corp" \
  --use-external-ingress-lb=true \
  --cluster-name="mgmt-cluster"

oVirt / VMware vSphere — внутренний KubeAPI, внешний Ingress

Схема: oVirt и vSphere.

./shtil install-cli ovirt \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --api-endpoint="10.11.12.100" \
  --ingress-default-fqdn="*.apps.example.corp" \
  --use-external-ingress-lb=true \
  --url-provider="https://ovirt.example.corp/ovirt-engine/api" \
  --user-provider="admin@internal" \
  --password-provider="Example-Ovirt-Pass1" \
  --datacenter-provider="Default" \
  --datacenter-cluster-provider="Default" \
  --vnic-profile-provider="ovirtmgmt" \
  --template="rocky9-template" \
  --provider-csi-storage="data-domain-1" \
  --cluster-name="mgmt-cluster"
./shtil install-cli vsphere \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --api-endpoint="10.11.12.100" \
  --ingress-default-fqdn="*.apps.example.corp" \
  --use-external-ingress-lb=true \
  --address-vcenter="vcenter.example.corp" \
  --user-vcenter="administrator@vsphere.local" \
  --password-vcenter="Example-Vcenter-Pass1" \
  --provider-datacenter="/Example-Datacenter" \
  --provider-datastore="datastore1" \
  --provider-resource-pool="/Example-Datacenter/host/Example-Cluster/Resources/Example-Pool" \
  --provider-network="/Example-Datacenter/network/VM-Network" \
  --provider-folder="/Example-Datacenter/vm/workloads" \
  --template="rocky9-template" \
  --cluster-name="mgmt-cluster"

oVirt / VMware vSphere — CoreHA на клиенте

Схема: CoreHA DNS на клиенте. Команды установки кластера управления те же, что в подразделе «внутренний KubeAPI, внешний Ingress».

oVirt / VMware vSphere — внутренний KubeAPI и внутренний Ingress

Схема: оба VIP внутри кластера.

./shtil install-cli ovirt \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --url-provider="https://ovirt.example.corp/ovirt-engine/api" \
  --user-provider="admin@internal" \
  --password-provider="Example-Ovirt-Pass1" \
  --datacenter-provider="Default" \
  --datacenter-cluster-provider="Default" \
  --vnic-profile-provider="ovirtmgmt" \
  --template="rocky9-template" \
  --provider-csi-storage="data-domain-1" \
  --cluster-name="mgmt-cluster"
./shtil install-cli vsphere \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --address-vcenter="vcenter.example.corp" \
  --user-vcenter="administrator@vsphere.local" \
  --password-vcenter="Example-Vcenter-Pass1" \
  --provider-datacenter="/Example-Datacenter" \
  --provider-datastore="datastore1" \
  --provider-resource-pool="/Example-Datacenter/host/Example-Cluster/Resources/Example-Pool" \
  --provider-network="/Example-Datacenter/network/VM-Network" \
  --provider-folder="/Example-Datacenter/vm/workloads" \
  --template="rocky9-template" \
  --cluster-name="mgmt-cluster"

OpenStack, VK Clouf, Selectel — внешние LB

Схема: внешние LB для KubeAPI и Ingress.

В справке install-cli перечислены подкоманды openstack, vkcloud, selectel. Полные таблицы флагов см. в разделе Справочник флагов install-cli на этой странице.

./shtil install-cli openstack \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --use-external-kubeapi-lb=true \
  --use-external-ingress-lb=true \
  --url-auth="https://openstack.example.com:5000/v3" \
  --project-id="example-project-id" \
  --project-domain-id="example-project-domain-id" \
  --user-domain-name="users" \
  --login="openstack-admin" \
  --password="Openstack-Example-Pass1" \
  --cloud-name="openstack" \
  --ssh-key-name="my-ssh-keypair" \
  --node-cidr="10.0.0.0/24" \
  --external-network-id="external-network-uuid" \
  --flavors="flavor-medium,flavor-large" \
  --volume-types="fast-ssd,default" \
  --machine-image-name="rocky9-shturval-template"
./shtil install-cli vkcloud \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --use-external-kubeapi-lb=true \
  --use-external-ingress-lb=true \
  --url-auth="https://openstack.example.com:5000/v3" \
  --cloud-name="vkcloud" \
  --project-id="example-project-id" \
  --project-domain-id="example-project-domain-id" \
  --user-domain-name="users" \
  --login="openstack-admin" \
  --password="Openstack-Example-Pass1" \
  --ssh-key-name="my-ssh-keypair" \
  --node-cidr="10.0.0.0/24" \
  --external-network-id="external-network-uuid" \
  --flavors="flavor-medium,flavor-large" \
  --volume-types="fast-ssd,default" \
  --machine-image-name="rocky9-shturval-template"
./shtil install-cli selectel \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --use-external-kubeapi-lb=true \
  --use-external-ingress-lb=true \
  --url-auth="https://openstack.example.com:5000/v3" \
  --cloud-name="selectel" \
  --project-id="example-project-id" \
  --project-domain-id="example-project-domain-id" \
  --user-domain-name="users" \
  --login="openstack-admin" \
  --password="Openstack-Example-Pass1" \
  --ssh-key-name="my-ssh-keypair" \
  --node-cidr="10.0.0.0/24" \
  --external-network-id="external-network-uuid" \
  --flavors="flavor-medium,flavor-large" \
  --volume-types="fast-ssd,default" \
  --machine-image-name="rocky9-shturval-template"

Пример: минимальная конфигурация (1 Control Plane)

Микрокластер — вариант управляющего кластера на одном Control Plane узле (6 vCPU, 8 GiB RAM, 80 GiB диск). Удобен для испытаний и пилотов. Требования: минимальная конфигурация в требованиях.

Обратите внимание! Внимание: не для production. До 5 клиентских кластеров. Логирование, мониторинг и резервное копирование в этом пресете не ставятся.

Консоль (install-cli):

./shtil install-cli shturvalv2 \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --ssh-user="shturval" \
  --path-ssh-private-key="/home/admin/.ssh/id_ed25519" \
  --controlplane-nodes="10.11.12.1" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster" \
  --minimal=true

oVirt / совместимые виртуализации

./shtil install-cli ovirt \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ" \
  --url-provider="https://ovirt.example.corp/ovirt-engine/api" \
  --user-provider="admin@internal" \
  --password-provider="Example-Ovirt-Pass1" \
  --datacenter-provider="Default" \
  --datacenter-cluster-provider="Default" \
  --vnic-profile-provider="ovirtmgmt" \
  --template="rocky9-template" \
  --provider-csi-storage="data-domain-1" \
  --api-endpoint="10.11.12.100" \
  --ingress-vip="10.11.12.101" \
  --cluster-name="mgmt-cluster"

При необходимости: --sub-type-provider, --control-plane, --workers, ресурсы ВМ (--cores-*, --memory-*, --disk-*), --allow-csi, --tls-insecure-provider, --tls-cert-path-provider — см. ./shtil install-cli ovirt --help.

vSphere

Используйте ./shtil install-cli vsphere и параметры vCenter (--address-vcenter, учётная запись, датацентр, datastore, ресурсный пул, сеть, папка, шаблон). Полный список: ./shtil install-cli vsphere --help.

OpenStack / VK Cloud / Selectel

Запуск Назначение
./shtil install-cli openstack OpenStack (CAPOS)
./shtil install-cli vkcloud VK Cloud
./shtil install-cli selectel Selectel

Ориентируйтесь на OpenStack и CAPOS и на вывод shtil install-cli openstack --help для перечисления флагов (--url-auth, --project-id, --ssh-key-name, --external-network-id, образы машин и т.д.). Подкомандная справка обязательна для облаков: API и имена объектов зависят от проекта.

Установка с YAML

Параметры установки передаются YAML-файлом с помощью флага --yaml-path. Сначала применяется YAML, затем только явно указанные флаги CLI переопределяют отдельные поля.

Провайдеры и типы документов

Примеры YAML-файла для заполнения своими значениями параметров выводит подкоманда example с указанием на провайдер:

Shturval v2:

./shtil install-cli shturvalv2 example > install.yaml

oVirt (и совместимые виртуализации):

./shtil install-cli ovirt example > install.yaml

VMware vSphere:

./shtil install-cli vsphere example > install.yaml

OpenStack:

./shtil install-cli openstack example > install.yaml

VK Cloud:

./shtil install-cli vkcloud example > install.yaml

Selectel:

./shtil install-cli selectel example > install.yaml

Конфигурация состоит из разделов: конфигурации провайдера и самого кластера, разделённых ---.

Область Тип первого документа Тип второго документа
Shturval v2 CapsmProviderConfig CapsmClusterConfig
oVirt CapovProviderConfig CapovClusterConfig
vSphere CapvsProviderConfig CapvsClusterConfig
OpenStack, VK Cloud, Selectel CaposProviderConfig CaposClusterConfig

Параметры YAML-манифеста

Обязательность ниже приведена по аннотированным шаблонам YAML. Поля без явного значения можно оставить закомментированными, если они необязательны и подходит значение по умолчанию.

Общие параметры кластера

Параметр YAML Провайдеры Обязательность Описание
type Все Да Тип документа: CapsmProviderConfig, CapsmClusterConfig, CapovProviderConfig, CapovClusterConfig, CapvsProviderConfig, CapvsClusterConfig, CaposProviderConfig или CaposClusterConfig
cluster Все cluster-документы Да Конфигурация кластера управления
cluster.apiEndpoint Shturval v2, oVirt, vSphere Да Адрес API-сервера кластера управления: IP или FQDN без порта и протокола
cluster.clusterName Все Нет Имя кластера управления. По умолчанию cluster-management
cluster.enabledServices Все Нет Список включённых сервисов. Если cluster.minimal: true, значение игнорируется
cluster.externalKubeAPILB Shturval v2 Нет Использовать внешний балансировщик для API-сервера. По умолчанию false
cluster.externalingresslb Все Нет Использовать внешний балансировщик для Ingress. По умолчанию false
cluster.ingress Shturval v2, oVirt, vSphere Да, если не задан cluster.ingressvip Wildcard DNS-запись для Ingress, например <cluster_name>.<base_domain>
cluster.ingress OpenStack, VK Cloud, Selectel Нет Wildcard DNS-запись для Ingress
cluster.ingressvip Shturval v2, vSphere Да, если cluster.externalingresslb: false VIP-адрес Ingress-контроллера
cluster.ingressvip oVirt Нет VIP-адрес Ingress-контроллера; используется при cluster.externalingresslb: false
cluster.controlPlaneNodesCount Все Нет Количество Control Plane узлов. Минимум 1, по умолчанию 1
cluster.podSubnet Все Нет CIDR подсети Pod. По умолчанию 172.16.0.0/16
cluster.serviceSubnet Все Нет CIDR подсети Service. По умолчанию 10.96.0.0/12
cluster.secure Все Нет Включить расширенные параметры безопасности. По умолчанию false
cluster.shturvalVersion Все Нет Версия платформы. Должна соответствовать версии shtil; в Shturval v2 переданное значение игнорируется
cluster.minimal Все Нет Минимальный набор сервисов. Если true, cluster.enabledServices игнорируется

Сертификаты Ingress

Параметр YAML Обязательность Описание
ingressCerts Нет Сертификат кластера. Если не задан, используется самоподписной сертификат. Можно выбрать только один подтип: ca, tls или acme
ingressCerts.ca.crtPath Нет, но вместе с ingressCerts.ca.keyPath Путь к цепочке сертификатов в PEM
ingressCerts.ca.keyPath Нет, но вместе с ingressCerts.ca.crtPath Путь к закрытому ключу промежуточного сертификата CA
ingressCerts.tls.crtPath Нет, но вместе с ingressCerts.tls.keyPath Путь к корпоративному или самоподписному TLS-сертификату для доменного имени Ingress
ingressCerts.tls.keyPath Нет, но вместе с ingressCerts.tls.crtPath Путь к закрытому ключу TLS-сертификата Ingress
ingressCerts.acme.rootPath Нет, но вместе с ingressCerts.acme.url Путь к корневому сертификату CA для ACME
ingressCerts.acme.url Нет, но вместе с ingressCerts.acme.rootPath Адрес ACME-сервера с портом и путём к ресурсу
ingressCerts.acme.email Нет Email для учётной записи Let’s Encrypt

Shturval v2 (CapsmProviderConfig)

Параметр YAML Обязательность Описание
name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
credentials.SSH Да Общие учётные данные для SSH-подключения к хостам
credentials.SSH.privateKey Да Путь к приватному SSH-ключу
credentials.SSH.userName Да Имя пользователя для SSH
hosts Да Список хостов для узлов кластера
hosts[].address Да IP-адрес или FQDN хоста
hosts[].labelsSelector Да Селектор с меткой роли хоста role
hosts[].credentials Нет null означает использование общих SSH-учётных данных; при необходимости можно переопределить SSH.userName и SSH.privateKey для конкретного хоста

Shturval v2 (CapsmClusterConfig)

Параметр YAML Обязательность Описание
provider Нет Конфигурации групп узлов; по умолчанию группы Control Plane и Worker предзаполнены
provider.controlPlaneNodeConfig.controlPlaneSelector.matchExpressions Нет Совпадающие выражения хостов для группы Control Plane
provider.controlPlaneNodeConfig.controlPlaneSelector.matchLabels.role Нет Метка хостов Control Plane. Роль должна быть controlplane
provider.controlPlaneNodeConfig.nodeConfig.groupName Не переопределять Имя группы Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.roles[].name Не переопределять Роль группы Control Plane узлов
provider.controlPlaneNodeConfig.name Нет Имя экземпляра провайдера; должно совпадать с name в CapsmProviderConfig
provider.workerNodeConfigs Нет Конфигурация Worker-узлов; создание дополнительных Worker-групп недоступно
provider.workerNodeConfigs[].workersCount Нет Количество узлов в дефолтной Worker-группе. По умолчанию 3
provider.workerNodeConfigs[].workerSelector.matchExpressions Нет Совпадающие выражения хостов для Worker-группы
provider.workerNodeConfigs[].workerSelector.matchLabels.role Нет Метка роли хоста для Worker-группы. Рекомендовано и по умолчанию workers
provider.workerNodeConfigs[].nodeConfig.groupName Нет Имя Worker-группы, например default или infra
provider.workerNodeConfigs[].nodeConfig.roles[].name Не переопределять Роль группы Worker-узлов

oVirt / zVirt / HostVM / РЕД Виртуализация / ROSA Virtualization (CapovProviderConfig)

Параметр YAML Обязательность Описание
name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
credentials.oVirt Да Учётные данные для подключения к API Engine oVirt
credentials.oVirt.url Да URL API Engine oVirt с суффиксом /ovirt-engine/api
credentials.oVirt.username Да Имя пользователя для аутентификации в API oVirt
credentials.oVirt.password Да Пароль для аутентификации в API oVirt
connection Нет Настройки TLS-подключения к API oVirt
connection.tlsInsecure Нет Отключить проверку TLS-сертификата. По умолчанию true
connection.tlsCertPath Нет Путь к CA-сертификату для проверки TLS при tlsInsecure: false
providerConfig Да Конфигурация провайдера oVirt
providerConfig.subtype Нет Подтип oVirt-подобного провайдера: zvirt, hostvm, redvirt, rosavirt
providerConfig.datacenter Да Имя датацентра oVirt
providerConfig.datacenterCluster Да Имя кластера oVirt внутри датацентра
providerConfig.vnicProfile Да Имя VNIC-профиля для сетевых интерфейсов ВМ
providerConfig.template Да Имя шаблона ВМ в выбранном датацентре
providerConfig.csiStorage Нет Имя домена хранения для динамических постоянных томов через CSI; пустое значение отключает CSI
providerConfig.vmType Нет Тип создаваемых ВМ. По умолчанию server
providerConfig.templateNetInterface Нет Имя сетевого интерфейса в шаблоне. По умолчанию eth0

oVirt / zVirt / HostVM / РЕД Виртуализация / ROSA Virtualization (CapovClusterConfig)

Параметр YAML Обязательность Описание
provider Нет Конфигурации узлов; по умолчанию группы Control Plane и Worker предзаполнены
provider.name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
provider.controlPlaneNodeConfig Нет Конфигурация Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.groupName Не переопределять Имя группы Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.roles[].name Не переопределять Роль группы Control Plane узлов
provider.controlPlaneNodeConfig.capovNodeConfig.cpu.cores Нет Количество ядер CPU на Control Plane узел. По умолчанию 4
provider.controlPlaneNodeConfig.capovNodeConfig.cpu.sockets Нет Количество CPU-сокетов на Control Plane узел. По умолчанию 1
provider.controlPlaneNodeConfig.capovNodeConfig.cpu.threads Нет Количество потоков CPU на сокет. По умолчанию 1
provider.controlPlaneNodeConfig.capovNodeConfig.memory.sizeMB Нет Размер памяти в МБ на Control Plane узел. По умолчанию 16000
provider.controlPlaneNodeConfig.capovNodeConfig.memory.guaranteedMB Нет Гарантированная память в МБ; должна совпадать с sizeMB. По умолчанию 16000
provider.controlPlaneNodeConfig.capovNodeConfig.osDiskSizeGB Нет Размер диска ОС в ГБ на Control Plane узел. По умолчанию 100
provider.workerNodeConfigs Нет Конфигурация Worker-узлов
provider.workerNodeConfigs[].nodeConfig.groupName Нет Имя Worker-группы, например default или infra
provider.workerNodeConfigs[].nodeConfig.roles[].name Не переопределять Роль группы Worker-узлов
provider.workerNodeConfigs[].workersCount Нет Количество узлов в дефолтной Worker-группе. По умолчанию 3
provider.workerNodeConfigs[].capovNodeConfig.cpu.cores Нет Количество ядер CPU на Worker-узел. По умолчанию 8
provider.workerNodeConfigs[].capovNodeConfig.cpu.sockets Нет Количество CPU-сокетов на Worker-узел. По умолчанию 1
provider.workerNodeConfigs[].capovNodeConfig.cpu.threads Нет Количество потоков CPU на сокет. По умолчанию 1
provider.workerNodeConfigs[].capovNodeConfig.memory.sizeMB Нет Размер памяти в МБ на Worker-узел. По умолчанию 32000
provider.workerNodeConfigs[].capovNodeConfig.memory.guaranteedMB Нет Гарантированная память в МБ; должна совпадать с sizeMB. По умолчанию 32000
provider.workerNodeConfigs[].capovNodeConfig.osDiskSizeGB Нет Размер диска ОС в ГБ на Worker-узел. По умолчанию 300

vSphere (CapvsProviderConfig)

Параметр YAML Обязательность Описание
name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
credentials.vSphere Да Учётные данные для подключения к vCenter
credentials.vSphere.addressVcenter Да IP-адрес или FQDN vCenter
credentials.vSphere.usernameVcenter Да Имя пользователя учётной записи vCenter
credentials.vSphere.passwordVcenter Да Пароль учётной записи vCenter
connection Нет Настройки TLS-соединения для vCenter
connection.tlsInsecure Нет Отключить проверку TLS-сертификатов. По умолчанию true
connection.tlsCertPath Нет Путь к CA-сертификату для проверки TLS при tlsInsecure: false
providerConfig Да Конфигурация провайдера vSphere
providerConfig.datacenter Да Имя datacenter vSphere
providerConfig.datastore Да Datastore в datacenter
providerConfig.resourcePool Да Путь к пулу ресурсов для ВМ
providerConfig.network Да Имя сети для сетевых интерфейсов ВМ
providerConfig.folder Да Путь к папке ВМ в инвентаре vCenter
providerConfig.template Да Имя шаблона ВМ в выбранном датацентре
providerConfig.cloneMode Нет Режим клонирования: linkedClone или fullClone. По умолчанию linkedClone
providerConfig.storagePolicy Нет Имя политики хранения для дисков ВМ
providerConfig.enableCSI Нет Включить драйвер vSphere CSI. По умолчанию true
providerConfig.templateNetInterface Нет Имя сетевого интерфейса в шаблоне. По умолчанию eth0

vSphere (CapvsClusterConfig)

Параметр YAML Обязательность Описание
provider Нет Конфигурации узлов; по умолчанию группы Control Plane и Worker предзаполнены
provider.name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
provider.controlPlaneNodeConfig Нет Конфигурация Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.groupName Не переопределять Имя группы Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.roles[].name Не переопределять Роль группы Control Plane узлов
provider.controlPlaneNodeConfig.capvsNodeConfig.cpu.cores Нет Количество ядер CPU на Control Plane узел. По умолчанию 4
provider.controlPlaneNodeConfig.capvsNodeConfig.memory.sizeMB Нет Размер памяти в МБ на Control Plane узел. По умолчанию 16000
provider.controlPlaneNodeConfig.capvsNodeConfig.osDiskSizeGB Нет Размер диска ОС в ГБ на Control Plane узел. По умолчанию 100
provider.workerNodeConfigs Нет Конфигурация Worker-узлов
provider.workerNodeConfigs[].nodeConfig.groupName Не переопределять Имя дефолтной Worker-группы
provider.workerNodeConfigs[].nodeConfig.roles[].name Не переопределять Роль группы Worker-узлов
provider.workerNodeConfigs[].workersCount Нет Количество узлов в дефолтной Worker-группе. По умолчанию 3
provider.workerNodeConfigs[].capvsNodeConfig.cpu.cores Нет Количество ядер CPU на Worker-узел. По умолчанию 8
provider.workerNodeConfigs[].capvsNodeConfig.memory.sizeMB Нет Размер памяти в МБ на Worker-узел. По умолчанию 32000
provider.workerNodeConfigs[].capvsNodeConfig.osDiskSizeGB Нет Размер диска ОС в ГБ на Worker-узел. По умолчанию 300

OpenStack / VK Cloud / Selectel (CaposProviderConfig)

Параметр YAML Обязательность Описание
name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
cloudName Да Имя облака, например vkcloud или openstack
connection Да Учётные данные для подключения к OpenStack
connection.authURL Да URL службы авторизации OpenStack Keystone с портом
connection.projectID Да ID проекта OpenStack
connection.projectDomainID Да ID домена проекта OpenStack
connection.tlsInsecure Нет Пропустить проверку TLS-сертификата API OpenStack
connection.tlsCertPath Нет Путь к CA-сертификату в формате PEM
connection.region Нет Имя региона OpenStack
connection.interface Нет Интерфейс endpoint OpenStack, например public или internal
connection.identityAPIVersion Нет Версия Identity API OpenStack. По умолчанию 3
connection.token Нет Токен аутентификации; только для OpenStack, нельзя использовать одновременно с login и password
connection.login Нет, но вместе с connection.password Имя сервисной учётной записи с ролями heat_stack_owner, admin
connection.password Нет, но вместе с connection.login Пароль сервисной учётной записи
connection.userDomainName Нет Имя домена пользователя; должен быть задан для OpenStack и VK Cloud
resources Да Конфигурация провайдера OpenStack
resources.sshKeyName Да Имя пары SSH-ключей для доступа к ВМ
resources.nodeCIDR Да Подсеть узлов; не должна пересекаться с cluster.podSubnet и cluster.serviceSubnet
resources.externalNetworkID Да ID внешней сети для floating IP и внешнего доступа
resources.flavors Да Список типов ВМ
resources.volumeTypes Да Список типов дисков
resources.machineImageName Да Имя шаблона ВМ; версия Kubernetes шаблона должна соответствовать версии Штурвала и shtil
resources.availabilityZones Нет Список зон доступности
resources.managedSecurityGroups Нет Управление группами безопасности. По умолчанию true
resources.disablePortSecurity Нет Отключить port security. По умолчанию false
resources.dns Нет DNS-серверы
resources.enableCSI Нет Включить интеграцию CSI. По умолчанию false

OpenStack / VK Cloud / Selectel (CaposClusterConfig)

Параметр YAML Обязательность Описание
provider Нет Конфигурации узлов; по умолчанию группы Control Plane и Worker предзаполнены
provider.name Нет Имя экземпляра провайдера. По умолчанию cluster-management-provider
provider.controlPlaneNodeConfig Нет Конфигурация Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.groupName Не переопределять Имя группы Control Plane узлов
provider.controlPlaneNodeConfig.nodeConfig.roles[].name Не переопределять Роль группы Control Plane узлов
provider.controlPlaneNodeConfig.caposNodeConfig.openstackFlavorName Нет Тип ВМ для Control Plane узлов; если не задан, используется первый из resources.flavors
provider.controlPlaneNodeConfig.caposNodeConfig.volumeSize Нет Размер корневого тома Control Plane узлов в ГБ. По умолчанию 100
provider.controlPlaneNodeConfig.caposNodeConfig.volumeType Нет Тип диска Control Plane узлов; если не задан, используется первый из resources.volumeTypes
provider.controlPlaneNodeConfig.caposNodeConfig.availabilityZone Нет Зона доступности Control Plane узлов; если не задана, используется первая из resources.availabilityZones
provider.workerNodeConfigs Нет Конфигурация Worker-узлов
provider.workerNodeConfigs[].nodeConfig.groupName Не переопределять Имя дефолтной Worker-группы
provider.workerNodeConfigs[].nodeConfig.roles[].name Не переопределять Роль группы Worker-узлов
provider.workerNodeConfigs[].workersCount Нет Количество узлов в дефолтной Worker-группе. По умолчанию 3
provider.workerNodeConfigs[].caposNodeConfig.openstackFlavorName Нет Тип ВМ для Worker-узлов; если не задан, используется первый из resources.flavors
provider.workerNodeConfigs[].caposNodeConfig.volumeSize Нет Размер корневого тома Worker-узлов в ГБ. По умолчанию 300
provider.workerNodeConfigs[].caposNodeConfig.volumeType Нет Тип диска Worker-узлов; если не задан, используется первый из resources.volumeTypes
provider.workerNodeConfigs[].caposNodeConfig.availabilityZone Нет Зона доступности Worker-узлов; если не задана, используется первая из resources.availabilityZones

Подсети и VIP должны быть согласованы с требованиями к открытому контуру и с топологией в схемах межсетевого взаимодействия.

При коллизии CIDR — проверка пересечения подсетей при создании кластера.

Шаги

  1. Сохраните вывод нужной подкоманды example в файл.
  2. Отредактируйте манифест: провайдер, кластер, узлы, VIP, подсети и при необходимости сертификаты и сервисы (состав компонентов см. также установку сервисов).
  3. Запустите установку (открытый контур, стандартный реестр — обычно достаточно лицензии):
./shtil install-cli ТИП-ПРОВАЙДЕРА \
  --yaml-path="/home/admin/install.yaml" \
  --bootstrap-license="ВАША-ЛИЦЕНЗИЯ"

Пример YAML-манифеста для Shturval v2 (два документа в одном файле, разделитель ---). Условные адреса в одном формате с примерами CLI: узлы 10.11.12.x, KubeAPI 10.11.12.100, Ingress VIP 10.11.12.101.

Первый документ — провайдер (CapsmProviderConfig):

---
type: CapsmProviderConfig
name: myprovidername
credentials:
  SSH:
    privateKey: /home/admin/.ssh/id_ed25519
    userName: shturval
hosts:
  - address: 10.11.12.1
    labelsSelector: { role: controlplane }
    credentials: null
  - address: 10.11.12.11
    labelsSelector: { role: workers }
    credentials: null

---

type: CapsmClusterConfig
cluster:
  apiEndpoint: 10.11.12.100
  clusterName: myclustername
  controlPlaneNodesCount: 1
  ingressvip: 10.11.12.101
  podSubnet: 172.16.0.0/16
  serviceSubnet: 10.96.0.0/12
  minimal: true
provider:
  controlPlaneNodeConfig:
    controlPlaneSelector: { matchLabels: { role: controlplane } }
    nodeConfig: { groupName: control-plane, roles: [{ name: node-role.kubernetes.io/control-plane }] }
  workerNodeConfigs:
    - nodeConfig: { groupName: default, roles: [{ name: node-role.kubernetes.io/workers }] }
      workersCount: 1
      workerSelector: { matchLabels: { role: workers } }

Пример YAML-манифеста для oVirt с несколькими группами Worker-узлов. В provider.workerNodeConfigs задайте отдельный элемент для каждой группы, например default и infra.

---
type: CapovProviderConfig
name: sht-capov-mgmt-prov
credentials:
  oVirt:
    url: https://ovirt.example.com/ovirt-engine/api
    username: ВВЕДИТЕ-ПОЛЬЗОВАТЕЛЯ
    password: ВВЕДИТЕ-ПАРОЛЬ
connection:
  tlsInsecure: true
providerConfig:
  datacenter: DCname
  datacenterCluster: RHVLab
  vnicProfile: CHLab_LAN_3260
  template: имя-шаблона-в-инфраструктуре-ovirt
  csiStorage: CHLab_Pure_VM_Store
ingressCerts:
  ##ca:
    ##crtPath:
    ##keyPath:
  ##tls:
    ##crtPath:
    ##keyPath:

---
type: CapovClusterConfig
cluster:
  apiEndpoint: 10.XX.XXX.236
  clusterName: sht-capov-mgmt7
  controlPlaneNodesCount: 1
  ingressvip: 10.XX.XXX.237
  minimal: true
provider:
  name: sht-capov-mgmt-prov
  controlPlaneNodeConfig:
    nodeConfig:
      groupName: control-plane
    roles:
      - name: node-role.kubernetes.io/control-plane
    capovNodeConfig:
      cpu:
        cores: 8
        sockets: 1
        threads: 1
      memory:
        sizeMB: 9000
        guaranteedMB: 9000
      osDiskSizeGB: 60
  workerNodeConfigs:
    - nodeConfig:
        groupName: default
        roles:
          - name: node-role.kubernetes.io/workers
      workersCount: 1
      capovNodeConfig:
        cpu:
          cores: 8
          sockets: 1
          threads: 1
        memory:
          sizeMB: 12000
          guaranteedMB: 12000
        osDiskSizeGB: 60
    - nodeConfig:
        groupName: infra
        roles:
          - name: node-role.kubernetes.io/workers
      workersCount: 1
      capovNodeConfig:
        cpu:
          cores: 8
          sockets: 1
          threads: 1
        memory:
          sizeMB: 9000
          guaranteedMB: 9000
        osDiskSizeGB: 60

Полные аннотированные шаблоны YAML

Структура полей и комментарии к ним в актуальном виде вы получаете командой ./shtil install-cli <провайдер> example (рекомендуемый способ).

Установка одной командой с манифестом (открытый контур):

./shtil install-cli shturvalv2 \
  --yaml-path="/home/admin/install.yaml" \
  --bootstrap-license='ВАША-ЛИЦЕНЗИЯ'

Для закрытого контура к команде добавьте --bootstrap-registry и при необходимости --bootstrap-insecure / --bootstrap-registry-certs-dir — см. установку без доступа к интернету.

Первые шаги после установки

Действие Описание
Проверьте доступ Откройте URL управляющего кластера. Логин: admin, пароль — в user.conf каталога данных установщика (~/.shturval/installer или /tmp/shturval/installer) либо заданный в --password. Кластер управления должен быть в статусе Готов.
Сохраните учётные данные Сохраните пароль администратора и kubeconfig. В интерфейсе: пользовательское меню → Скачать Kubeconfig.
Настройте базовые сущности Доставка пользователей, пул IP-адресов, провайдер и шаблон ВМ. Дальнейшие сервисы — установка сервисов; реестр платформы — сервисы репозитория; настройки узлов — конфигурация узлов (NCI).

Перед выполнением очистки временного кластера или деинсталляции платформы, если понадобится повторный доступ к уже развёрнутому интерфейсу, сохраните user.conf вручную.

Обратите внимание! экземпляр провайдера инфраструктуры, которым был развёрнут кластер управления, не следует повторно использовать как инфраструктурный провайдер для клиентских кластеров — создайте отдельный экземпляр провайдера для рабочих нагрузок (см. обзор провайдеров).

Диагностика

Быстрая проверка CLI и логирования

./shtil --help
./shtil install-gui --help
./shtil install-cli --help
./shtil install-cli shturvalv2 --help
./shtil version

Для детальных логов CLI используйте глобально --verbosity / -v (до 10).

При повторном запуске install-cli после ошибочной конфигурации на том же временном кластере смотрите флаг -y / --overwrite в справке. Лицензия со спецсимволами ($, <, >, *, &, ?, /, \) должна быть в одинарных кавычках оболочки.

Раннее прерывание установки локального установщика

Проверка Что делать
docker или podman в PATH Инструменты контейнеризации нужны для install-gui; при установленных обоих по умолчанию предпочтение Docker
Delegate=yes / UserNS: cpu controller needs to be delegated Подготовка к rootless Podman
Ресурсы и ОС машины shtil См. требования к машине shtil и поддерживаемые ОС
Доступ к реестру образов С машины shtil и узлов целевого кластера: curl -v https://r.shturval.tech

Ошибки SSH (Shturval v2)

Симптом Действие
Permission denied Проверьте ключ и ssh-copy-id до доступа установщика
sudo: no tty present Добавьте пользователя в sudoers, например shturval ALL=(ALL) NOPASSWD: ALL, либо иной поддерживаемый способ доступа без TTY для установки
SELinux блокирует доступ По политике организации временно переведите в permissive или отключите SELinux для окна установки (согласуйте с ИБ)

Устойчивый кластер и сеть

Симптом Действие
Занят VIP Освободите адреса, выделите непингуемые VIP или опишите использование балансировщиков
Подсети / overlapping CIDR См. проверку пересечения подсетей и согласуйте --pod-subnet, --service-subnet или поля YAML
Не монтируются образы узлами Сеть до r.shturval.tech и исключённые блокировки; см. также репозиторий

Дополнительно

  • Время: NTP/Chrony на узлах, расхождения не более 1–2 с.
  • Диск: ориентиры см. раздел ресурсов в требованиях для открытого контура.
  • Отладка GUI: install-gui ... --debug — контейнер локального установщика не удаляется при ошибке.