Установка
Вводная информация
Для установки Комплекса используется модуль первичной установки shturval installer (stc) и лицензия. Прежде чем начать установку, следует определить лицензию для использования: enterprise или community edition.
Установка в открытом контуре (т.е. из публичного репозитория shturval) доступна в любой версии лицензии. Установка в закрытом контуре доступна только в enterprise-лицензии. В закрытом контуре дополнительно требуется файл типа ".bundle" ‒ tar-архив, который содержит в себе все необходимое для установки Комплекса, и утилита shturval mirror (stm) для работы с зеркалом. Файл ".bundle" и утилита передаются заказчику вместе с enterprise-лицензией.
Прежде чем начать установку, рекомендуется обязательно ознакомиться с требованиями к Комплексу:
- Сколько хостов и какой производительности нужно для установки Комплекса (п. Минимальные системные требования для кластера управления);
- Какие виды операционных систем поддерживаются (п. Требования к ОС);
- Требования к синхронизации времени в зависимости от особенностей ОС (п. Требования к ОС);
- Как подготовить хосты для установки Комплекса (п. Требования к хостам);
- Особенности работы с сетевыми именами (п. Требования к сетевым именам);
- Требования к балансировщику нагрузки (при использовании внешнего) (п. Требования к балансировщику нагрузки);
- Требования к IP-адресам, в т.ч. Virtual-IP для KubeAPI и Ingress (п. Требования к IP-адресам);
- Требования для удаленного доступа (п. Сетевые требования для удаленного доступа).
Возможно инсталлировать платформу с различного типа сертификатами (п. Настройка TLS): самоподписаными, корпоративными, промежуточными сертификатами или сертификатами ACME. В случае установки с самоподписанными сертификатами потребуется принять их в веб-интерфейсе.
Установка
Для установки Комплекса нужно осуществить следующие шаги:
- определить контур установки:
- Открытый (со всех хостов кластера потребуется доступ по порту
443до r.shturval.tech); - Закрытый (только для enterprise; перед запуском установки выполнить подготовку зеркала (п. Подготовка зеркала для установки в закрытом контуре), используя выданный менеджером файл .bundle).
- подготовить хосты с одной из ОС, указанных в п. Архитектура:
- 1 Master (6/8/80) для минимальной конфигурации (при необходимости после установки можно будет добавить хосты в провайдере shturvalv2 с именем создаваемого кластера управления);
- 3 Master (4/16/100) и 3 Worker(8/32/300) для отказоустойчивой конфигурации;
- еще один (2/4/150) для зеркала, если инсталляция в закрытом контуре.
Следует проверить, что:
- SELinux отключен или находится в режиме
permissive; - время между хостами и рабочей машиной синхронизировано;
- с хостов удалены недоступные (например, родные) репозитории (потребуется только
iptablesиgnupg).
- создать на каждом хосте пользователя. Этот пользователь должен иметь возможность выполнять sudo без пароля;
- можно использовать внешний или внутренний балансировщик KubeAPI и/или Ingress:
- если используется внешний балансировщик, то для каждого компонента нужен FQDN (п. Межсетевые экраны);
- если не используется внешний балансировщик, то подготовить два непингуемых (свободных) IP-адреса. Они не должны быть настроены на каком-либо из хостов кластера, но должны быть в одной подсети с хостами Master-узлов;
- подготовить сертификаты для применения при установке или запустить установку без них, тогда будут установлены самоподписанные сертификаты;
- для запуска установки:
- с машины на ОС Linux скачать stc для Linux и выполнить команду, чтобы сделать файл исполняемым:
chmod +x ./stc-2.10.0
- с машины на ОС Windows скачать stc для Windows.
- сгенерировать ключевую пару с помощью команды:
ssh-keygen -t ed25519 -f shturval
- скопировать ключевую пару на каждый хост будущего кластера с помощью команды:
ssh-copy-id -i shturval.pub ssh-user@IP-адрес-хоста
где вместо IP-адрес-хоста прописать IP-адрес хоста будущего кластера. Если хостов будет более одного, выполнить команду для каждого хоста.
- подготовить адреса ntp-серверов, с которыми должна происходить синхронизация времени хостов (использованные на шаге 2).
- для установки на своей рабочей станции с ОС Linux или Windows (в зависимости от того, какой stc был скачан) запустить команду, в которую необходимо подставить свои значения параметров
Все доступные параметры инсталлятора stc-2.10.0 приведены в таблице 12.
Примеры команд для установки
Для установки в закрытом контуре добавить в нужную команду параметр "--registry=corp.domain.local:443", где вместо corp.domain.local ввести адрес вашего registry.
Для установки с цепочкой сертификатов (ваш промежуточный сертификат (п. Промежуточные сертификаты) → сертификат корпоративного центра сертификации (п. Корпоративные сертификаты)) в конец нужной команды добавить ключи --ca-cert=ввести-ПУТЬ-ДО-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА(pem-файла) и —ca-key=ввести-ПУТЬ-ДО-ЗАКРЫТОГО-КЛЮЧА-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА.
Для установки с корпоративными сертификатами в конец нужной команды добавить ключи --ingress-cert=ввести-ПУТЬ-ДО-КОРПОРАТИВНОГО-СЕРТИФИКАТА(pem-файла) и —ingress-key=ввести-ПУТЬ-ДО-ЗАКРЫТОГО-КЛЮЧА-ПРОМЕЖУТОЧНОГО-СЕРТИФИКАТА.
Для установки с ACME-сертификатами в конец нужной команды добавить ключи --acme-root-cert=ввести-ПУТЬ-ДО-КОРНЕВОГО-СA-ДЛЯ-ACME и —acme-url=ввести-АДРЕС-ACME-СЕРВЕРА-С-ПОРТОМ-И-ПУТЕМ-К-РЕСУРСУ.
Примеры команд для установки на одном Master-узле (minimal)
- Команда для запуска установки на одном Master-узле с VIP для API-сервера и Ingress, самоподписаными сертификатами в открытом контуре:
./stc-2.10.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
- Команда для запуска установки на одном Master-узле с внешним балансировщиком для API-сервера и VIP для Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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
- Команда для запуска установки на одном Master-узле с VIP для API-сервера и внешним балансировщиком для Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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=--ingress=ввести-FQDN-ДЛЯ-INGRESS \
--skip-check \
--ntp-servers=ввести-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
--minimal=true
- Команда для запуска установки на одном Master-узле с внешним балансировщиком для API-сервера и Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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
Примеры команд для установки в отказоустойчивой конфигурации (3 Master + 3 Worker):
- Команда для запуска установки на трех Master-узлах и трех Worker-узлах с VIP для API-сервера и Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
- Команда для запуска установки на трех Master-узлах и трех Worker-узлах с внешним балансировщиком для API-сервера и VIP для Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
- Команда для запуска установки на трех Master-узлах и трех Worker-узлах с VIP для API-сервера и внешним балансировщиком для Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
- Команда для запуска установки на трех Master-узлах и трех Worker-узлах с внешним балансировщиком для API-сервера и Ingress, самоподписанными сертификатами в открытом контуре:
./stc-2.10.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-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
После завершения установки
После установки будут получены:
- логин и пароль администратора Комплекса;
- kubeconfig администратора Комплекса;
- ссылка для перехода в графический интерфейс Комплекса.
Важно ‒ Следует сохранить логин, пароль и kubeconfig. Они являются статическими и пригодятся для дальнейшей эксплуатации.
Управление хостами, доступными для присоединения в кластер управления, происходит с помощью экземпляра провайдера shturvalv2 (п. Shturvalv2) с именем кластера управления. Чтобы открыть интерфейс кластера управления в веб-интерфейсе Комплекса, нужно перейти в раздел "Кластер" на вкладку "Кластер управления". Управление ресурсами кластера управления, в т.ч. количеством узлов в группе происходит из интерфейса кластера управления (рисунок 1).

Рисунок 1 ‒ Кластер управления
Следует обратить внимание, что экземпляр провайдера, с которым инсталлирован кластер управления, не должен использоваться при создании клиентских кластеров. Подробнее о создании провайдеров в Комплексе см. п. О провайдерах.
Управление ресурсами Комплекса проводится в разделе "Платформа" (п. Начальная страница веб-интерфейса). Информация о лимитах лицензии, Swagger находятся в разделе "О системе" (п. О системе).
Установка с самоподписанным сертификатом
Если используется самоподписанный сертификат при установке, после завершения установки и перехода в графический интерфейс Комплекса в веб-браузере потребуется принять сертификаты:
https://front.<shturval_cluster_name>.<base_domain>;https://back.<shturval_cluster_name>.<base_domain>;https://auth.<shturval_cluster_name>.<base_domain>.
где:
<shturval_cluster_name>‒ IP-адрес или Ingress кластера управления;<base_domain>‒ доменная зона или shturval.link (если своя доменную зону не была настроена).
Чтобы заменить самоподписанные на цепочку сертификатов или ACME после завершения установки, следует воспользоваться Инструкцией "Как добавить в кластер промежуточный и ACME сертификаты".
Изменение пароля администратора
При завершении установки Комплекс предоставит временный пароль администратора для первого входа и настройки интеграции с внешней системой аутентификации.
Чтобы сменить пароль администратора по умолчанию, нужно перейти в установленный сервис "Модуль программного управления платформой" (объект типа shturvalserviceconfig shturval-backend) кластера управления. В спецификации сервиса требуется найти параметр "static_password" и обновить его значение.