Вариант инсталляции в консоли

Инсталляция с утилитой stc (ПОДДЕРЖИВАЕТСЯ ПОСЛЕДНИЙ РЕЛИЗ)

  1. Скачайте модуль первичной установки - shturval installer (stc).
  • с машины на ОС Linux скачайте stc для linux и выполните команду, чтобы сделать файл исполняемым:
chmod +x ./stc-2.11.0
  1. Сгенерируйте ключевую пару с помощью команды:
ssh-keygen -t ed25519 -f shturval

Обратите внимание! Shturval installer (stc) не поддерживает Passphrase-protected private key.

  1. Скопируйте ее на каждый хост будущего кластера с помощью команды:
ssh-copy-id -i shturval.pub ssh-user@IP-адрес-хоста

где вместо IP-адрес-хоста пропишите IP хоста будущего кластера. Если хостов будет более одного, выполните команду для каждого хоста.

  1. Подготовьте адреса ntp-серверов, с которыми должна происходить синхронизация времени хостов (использованные в шаге 2).
  2. Для инсталляции на рабочей машине с ОС Linux или Windows (в зависимости от того, какой stc вы скачали) запустите команду, в которую необходимо подставить свои значения параметров
Все доступные параметры инсталлятора stc-2.11.0
ПараметрОбязательныйОписание
--debugнетВыводить в лог всю информацию об ошибках (по умолчанию false)
--dry-runнетПроверка конфигурации. Установка службы shturvald на узлы будущего кластера. (по умолчанию false)
--quietнетВыключить stdout. Только код выхода
--ssh-private-key [string]даПуть к файлу приватного ключа SSH
--ssh-user [string]даИмя пользователя для подключения по SSH
--workdir [string]нетРабочая директория кластера (для файлов конфигурации, логов и пр.)
--skip-checkнетПропустить проверку хостов перед инсталляцией. Значение по умолчанию – false
--master-nodes [string]даАдреса Control Plane узлов
--worker-nodes [string]даАдреса Worker-узлов
--api-endpoint [string]даАдрес API управления кластером
--cluster-name [string]даИмя кластера
--disabled-system-services [string]нетСписок отключенных системных сервисов
--enabled-system-services [string]нетСписок включенных системных сервисов
--ingress [string]да, если не указан --ingress-vipWildcard DNS-запись для ingress (например, <cluster_name>.<base_domain>). Примеры записей на странице Требования к сетевым именам. Чтобы задать DNS-запись для ingress, должен быть указан параметр--use-external-ingress-lb со значением true. При формировании ingress-записей используется только значение, заданное в параметре --ingress
--ingress-vip [string]да, если не указан --ingressVIP адрес для ingress контроллера
--interactiveнетПризнак интерактивного режима. Значение по умолчанию – false
--license [string]даЛицензионный ключ для загрузки пакетов
--monitoring-endpoint [string]нетАдрес кластера мониторинга для отправки системных метрик
--ntp-servers [string]нетСписок серверов синхронизации времени (через запятую)
--registry [string]нетАдрес реестра образов и репозиториев пакетов. Значение по умолчанию – r.shturval.tech
--secureнетПризнак установки дополнительных параметров безопасности. Значение по умолчанию – false
--timezone [string]нетЧасовой пояс. Значение по умолчанию – Europe/Moscow
--use-external-ingress-lbда, если задан --ingressИспользовать внешний балансировщик для Ingress контроллера. Значение по умолчанию – false
--use-external-kubeapi-lbнетИспользовать внешний балансировщик кластерного IP. Значение по умолчанию – false
--ca-certда, если не указаны --acme-root-cert или --ingress-certПуть до цепочки сертификатов (ваш промежуточный сертификат -> сертификат корпоративного центра сертификации) в формате “pem” файла, который может быть использован в дальнейшем для подписания других сертификатов
--ca-keyда, если задан --ca-certПуть до закрытого ключа промежуточного сертификата CA
--acme-root-certда, если не указаны --ca-cert или --ingress-certПуть до файла корневого сертификата CA для ACME
--acme-urlда, если задан --acme-root-certАдрес ACME сервера с портом и путем к ресурсу, например: https://acme.corp.lan:8443/directory
--ingress-cert [string]да, если не указаны --ca-cert или --acme-root-certПуть до корпоративного сертификата(“pem” файла), который был выпущен CA(в этом случае в файле будет цепочка сертификатов) или самоподписан для доменного имени Ingress
--ingress-key [string]да, если задан --ingress-certПуть до закрытого ключа корпоративного сертификата Ingress
--pod-subnet [string]нетПодсеть для подов. Значение по умолчанию – 172.16.0.0/16. При изменении дефолтного значения, проверьте диапазон подсети на пересечение с подсетью сервисов. Подробнее про выделение подсетей здесь
--service-subnet [string]нетПодсеть для сервисов. Значение по умолчанию – 10.96.0.0/12. При изменении дефолтного значения, проверьте диапазон подсети на пересечение с подсетью подов. Подробнее про выделение подсетей здесь
--minimalнетПризнак установки минимального набора сервисов. Требуется при инсталляции кластера управления на 1 Control Plane узле. При установке в минимальной конфигурации недоступны параметры --disabled-system-services и --enabled-system-services. Значение по умолчанию – false

Примеры команд для инсталляции с stc

  • Для инсталляции в закрытом контуре добавьте в нужную команду параметр --registry=corp.domain.local:443, где вместо corp.domain.local введите адрес вашего реджистри.
  • Для инсталляции с цепочкой сертификатов (ваш промежуточный сертификат -> сертификат корпоративного центра сертификации) в конец нужной команды добавьте ключи --ca-cert=ВВЕДИТЕ-ПУТЬ-ДО-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА("pem" файла) и --ca-key=ВВЕДИТЕ-ПУТЬ-ДО-ЗАКРЫТОГО-КЛЮЧА-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА
  • Для инсталляции с корпоративными сертификатами в конец нужной команды добавьте ключи --ingress-cert=ВВЕДИТЕ-ПУТЬ-ДО-КОРПОРАТИВНОГО-СЕРТИФИКАТА("pem" файла) и --ingress-key=ВВЕДИТЕ-ПУТЬ-ДО-ЗАКРЫТОГО-КЛЮЧА-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА
  • Для инсталляции с ACME сертификатами в конец нужной команды добавьте ключи --acme-root-cert=ВВЕДИТЕ-ПУТЬ-ДО-КОРНЕВОГО-СA-ДЛЯ-ACME и --acme-url=ВВЕДИТЕ-АДРЕС-ACME-СЕРВЕРА-С-ПОРТОМ-И-ПУТЁМ-К-РЕСУРСУ

Примеры команд для инсталляции на 1 Control Plane узле (minimal)

Команда для запуска инсталляции на 1 Control Plane узле с VIP для API-сервера и Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА  \
 --api-endpoint=ВВЕДИТЕ-IP-ДЛЯ-API-СЕРВЕРА \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТА \
 --timezone=Europe/Moscow \
 --ingress-vip=ВВЕДИТЕ-IP-АДРЕС-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
 --minimal=true
Команда для запуска инсталляции на 1 Control Plane узле с внешним балансировщиком для API-сервера и VIP для Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА  \
 --use-external-kubeapi-lb=true  \
 --api-endpoint=ВВЕДИТЕ-ВАШ-FQDN \
 --timezone=Europe/Moscow \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТА \
 --ingress-vip=ВВЕДИТЕ-IP-АДРЕС-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
 --minimal=true
Команда для запуска инсталляции на 1 Control Plane узле с VIP для API-сервера и внешним балансировщиком для Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --api-endpoint=ВВЕДИТЕ-IP-ДЛЯ-API-СЕРВЕРА \
 --timezone=Europe/Moscow \
 --use-external-ingress-lb=true \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТА \
 --ingress=ВВЕДИТЕ-FQDN-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
 --minimal=true
Команда для запуска инсталляции на 1 Control Plane узле с внешним балансировщиком для API-сервера и Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=shturval \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --use-external-kubeapi-lb=true \
 --api-endpoint=ВВЕДИТЕ-FQDN-API-СЕРВЕРА \
 --timezone=Europe/Moscow \
 --use-external-ingress-lb=true \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТА \
 --ingress=ВВЕДИТЕ-FQDN-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
 --minimal=true

Примеры команд для инсталляции с Control Plane и Worker узлами

Команда для запуска инсталляции на 1 или 3 Control Plane узлах и 3 Worker-узлах с VIP для API-сервера и Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --api-endpoint=ВВЕДИТЕ-IP-ДЛЯ-API-СЕРВЕРА \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --worker-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --timezone=Europe/Moscow \
 --ingress-vip=ВВЕДИТЕ-IP-АДРЕС-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
Команда для запуска инсталляции на 1 или 3 Control Plane узлах и 3 Worker-узлах с внешним балансировщиком для API-сервера и VIP для Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --use-external-kubeapi-lb=true \
 --api-endpoint=ВВЕДИТЕ-FQDN-API-СЕРВЕРА \
 --timezone=Europe/Moscow \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --worker-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --ingress-vip=ВВЕДИТЕ-IP-АДРЕС-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
Команда для запуска инсталляции на 1 или 3 Control Plane узлах и 3 Worker-узлах с VIP для API-сервера и внешним балансировщиком для Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --api-endpoint=ВВЕДИТЕ-IP-ДЛЯ-API-СЕРВЕРА \
 --timezone=Europe/Moscow \
 --use-external-ingress-lb=true \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --worker-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --ingress=ВВЕДИТЕ-FQDN-ДЛЯ-INGRESS \
 --skip-check \
 -ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
Команда для запуска инсталляции на 3 Control Plane узлах и 3 Worker-узлах с внешним балансировщиком для API-сервера и Ingress, самоподписными сертификатами в открытом контуре
./stc-2.11.0 install management \
 --license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
 --cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
 --ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
 --ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
 --use-external-kubeapi-lb=true \
 --api-endpoint=ВВЕДИТЕ-FQDN-API-СЕРВЕРА \
 --timezone=Europe/Moscow \
 --use-external-ingress-lb=true \
 --master-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --worker-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
 --ingress=ВВЕДИТЕ-FQDN-ДЛЯ-INGRESS \
 --skip-check \
 --ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \

После завершения инсталляции с stc

После инсталляции вы получите:

  • логин и пароль администратора платформы;
  • kubeconfig администратора платформы;
  • ссылку для перехода в графический интерфейс платформы “Штурвал”.

Сохраните логин, пароль и kubeconfig. Они статические и пригодятся вам для дальнейшей эксплуатации.

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

Управление хостами, доступными для присоединения в кластер управления происходит с помощью экземпляра провайдера shturval v2 с именем кластера управления. Чтобы перейти в интерфейс кластера управления в веб-интерфейсе платформы перейдите в раздел “Кластер” на вкладку “Кластер управления”. Управление ресурсами кластера управления, в т.ч. количеством узлов в группе происходит из интерфейса кластера управления.

Скриншот

mgmtcluster

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

Управление платформенными ресурсами происходит в разделе “Платформа”. Информация о лимитах лицензии, Swagger находятся в разделе “О системе”.