Закрытый контур

Закрытый контур - в процессе инсталляции нет интернета на всех узлах и зеркале. Для инсталляции необходим дистрибутив и лицензия платформы Штурвал. Ссылку на скачивание версии stc, бандл, а также номер лицензии передает заказчику менеджер со стороны Штурвала.

Подготовка к инсталляции без доступа к сети Интернет

  1. Поднять 7 хостов (3 для Master и 3 для Worker узлов и 1 хост для зеркала) с одинаковой ОС из списка поддерживаемых.
  • Определить системные требования для Master, Worker узлов и зеркала;
  • Для хоста с зеркалом отключить SELinux, убедиться, что порты Nginx открыты и свободны (параметры http-port и https-port, по умолчанию 80 и 443), а также что не установлен container runtime.
  • Убедиться, что хосты для узлов кластера резолвят хост с зеркалом по действующему FQDN.
  1. Проверить синхронизацию времени на хостах и при необходимости выполнить настройки.
  2. На каждом хосте убедиться, что SElinux отключен. При необходимости внести изменения в файл /etc/selinux/config на каждом хосте и поочередно перезагрузить хосты.
  3. Отключить или удалить недоступные репозитории на хостах, например, родные репозитории дистрибутива.
  4. На каждом хосте настроить OpenSSH-сервер, отслеживающий входящие подключения на порте TCP 22.
  5. Создать на каждом хосте учетную запись, при этом имя сервисной учетной записи должно быть одинаковым для всех узлов кластера.
  • Для каждой сервисной учетной записи настроить аутентификация с использованием ключевой пары (приватный и публичный ключ), при этом публичный ключ должен быть одинаковым на всех хостах, при этом ключ должен быть одинаковым на всех хостах. Каждая сервисная учетная запись должна иметь права на выполнение команды sudo без указания пароля.
  • Создать для Linux пользователя домашний каталог в операционной системе (например, /home/shturval).
  1. Определить адрес для API сервера кластера управления:
  • При использовании внутреннего балансировщика для API сервера кластера управления найти свободный (непингуемый) IP адрес в той же сети, что и подготовленные хосты.
  • При использовании внешнего балансировщика, настроить внешний балансировщик.
  1. Определить адрес для Ingress:
  • При использовании внутреннего балансировщика для Ingress найти второй свободный (непингуемый) IP адрес в той же сети, что и подготовленные хосты.
  • При использовании внешнего балансировщика, настроить внешний балансировщик.
    • приготовить FQDN и IP адрес, в который будет резолвиться FQDN. FQDN необходим для использования сертификата.
  1. Подготовить корпоративный сертификат или уточнить настройки вашего корпоративного ACME сервера (CA сертификат и URL до ACME сервера). Пропустить этот шаг для использования внутреннего самоподписного сертификата.

Начало инсталляции

Обратите внимание! Запуск STC необходимо выполнять на рабочей машине (не на хосте кластера) с ОС Linux.

Также есть возможность скачать stc нужной версии по ссылке ниже. Для этого запустите команду:

Команда
wget URL -O stc

Где вместо URL подставьте соответствующую необходимой версии ссылку:

Обратите внимание! Версия stc должна совпадать с версией бандла!

Начиная с версии Штурвала 2.7.0 появился второй вариант установки зеркала. Рекомендуется использование нового варианта установки. В случае, если с его развертыванием возникли трудности, разверните зеркало используя старый способ.

Работа с бандлом (новое зеркало)

Команды для работы с бандлом

Команды выполняются с помощью утилиты stm (shturval mirror). Утилита входит в состав бандла.

Команда Описание команды Параметр Описание параметра
stm bundle make инициализация зеркала и загрузка пакетов и образов из бандла. Совмещает команды init и bundle load, а также их опции (обязательные опции --fqdn, --license)
stm bundle load загрузить содержимое бандла в зеркало (зеркало должно быть инициализировано) --path путь до каталога с бандлом. По умолчанию shturval-bundle
stm bundle download Подготовка архива с бандлом (инициализировать зеркало не нужно) --version Версия платформы для загрузки. Можно указать несколько версий через запятую. (Обязательно)
--license Лицензия (обязательно)
--shturval-repo Адрес репозитория Штурвал - по умолчанию r.shturval.tech
--public-repo Адрес публичного репозитория Штурвал - по умолчанию public.shturval.tech
--shturval-repo-user Пользователь репозитория Штурвал по умолчанию user. Скрытая опция.
stm bundle check проверить целостность бандла --path путь до каталога с бандлом. По умолчанию shturval-bundle

Примеры работы с зеркалом в закрытом окружении

Пример загрузки новых версий из бандла в ранее развернутое зеркало
stm bundle load
Пример подготовки бандла для инсталяции платформы в закрытом окружении
stm bundle download --license=XXXXXXXXXXXXX --version=2.8.1

Работа с сертификатами

Требование к сертификату

  1. Для импорта необходимо указать файл с цепочкой сертификатов и ключом.
  2. Сертификаты и ключ должны быть в pem формате.
  3. Цепочка сертификатов должна содержать CA и сам сертификат.
  4. Сертификат должен содержать поле subjectAltName с fqdn зеркала (fqdn должен совпадать с указанным параметром --fqdn или со значением в конфигурации зеркала)
  5. При подписании CSR необходимо сохранить Extensions (для openssl - ключ -copy_extensions copyall).
Команды для работы с сертификатами
Команда Описание команды Параметр Описание параметра
stm cert import Импорт сертификата (приведет к перезапуску зеркала) --cert-file Файл сертификата для импорта
--privkey-file Файл ключа для импорта
stm cert csr Сформировать запрос на получение сертификата --fqdn Адрес, на который будет сгенерирован запрос

Примеры команд

Пример генерации csr, выпуска сертификата
# Выпустить запрос на получение сертификата (csr и ключ будут находиться в каталоге export)
stm cert csr --fqdn=mirror.corpdomain.ru
# Выпустить сертификат, используя CSR и свой CA (пример для openssl)
openssl x509 -req -sha512  -in export/csr.pem -days 3650 -CA ca/ca_cert.pem \
-CAkey ca/ca_private_key.pem -CAcreateserial -out export/mirror_cert.pem -copy_extensions copyall
# Добавить к полученному сертификату свой CA
cat ca/ca_cert.pem >> export/mirror_cert.pem
Пример импорта сертификата
# Если зеркало ещё не инициализировано
stm make --fqdn=mirror.corpdomain.ru --license=XXXXXXXXXX --version=2.8.1 \
--cert-file export/mirror_cert.pem --privkey-file export/privkey.pem
# Если зеркало уже инициализировано (приведет к перезапуску зеркала)
stm cert import --cert-file export/mirror_cert.pem --privkey-file export/privkey.pem

Загрузка образов во внешний Nexus

Список команд
Команда Описание команды Параметр Описание параметра
stm external config генерация примера конфигурации
stm external sync загрузка пакетов и образов из репозитория Штурвал во внешний Nexus
stm external load загрузить содержимое бандла во внешний Nexus --path путь до каталога с бандлом. По умолчанию shturval-bundle
stm external nginx развертывание Nginx для проксирования запросов во внешний Nexus --fqdn Адрес, по которому будет доступно зеркало (обязательно). На это имя будут сгенерированы сертификаты
--http-port Порт http. будет занят на хосте. - 80 по умолчанию
--https-port Порт https. будет занят на хосте - 443 по умолчанию
--cert-file Файл сертификата для импорта
--privkey-file Файл ключа для импорта

Подготовка внешнего Nexus

На Nexus необходимо создать требуемые hosted репозитории:

  • Репозитории, обязательные для всех инсталляций - форматы raw, helm, docker
    • Docker репозиторий должен иметь коннектор (выделенный порт)
  • Для apt дистрибутивов обязателен hosted apt репозиторий, названный в конфиге “deb_universal”
    • Для apt репозиториев distribution должен быть main
    • Для apt репозиториев должна быть сгенерирована пара gpg ключей. Приватный ключ должен быть использован при создании репозитория, публичный должен быть загружен в корень raw репозитория под именем shturval.gpg
  • Для yum дистрибутивов обязателен hosted yum репозиторий, названый в конфиге “rpm_universal”
    • Для yum репозитория Repodata Depth должна быть установлена в 0
  • Также необходим yum или apt репозиторий для дистрибутива
  • Например, для дистрибутива redos нужен helm, raw, docker и 2 yum репозитория, для дистрибутива astra - helm, raw, docker и 2 apt репозитория.

Имена репозиториев могут быть любыми. Соответствие имён будет установлено в файле конфигурации.

На хосте, имеющем доступ, сгенерировать пример конфигурации
stm external config

Полученный файл config/external-config-example.yaml нужно скопировать как config/external-config.yaml и заполнить в соответствии со своими данными. Соответствие имён репозиториев заполняется как “ключ”: “значение”, где в значении указываются имена созданных репозиториев (ключи менять не следует). Например, если для raw репозитория был создан репозиторий с именем “raw_repo”, в конфигурации запись должна выглядеть так : bin_public: “raw_repo”.

Запуск синхронизации из бандла

Команда
stm external load

После загрузки будет сгенерирован пример конфигурации Nginx. Его можно использовать для создания собственной конфигурации, для поднятия Nginx на нужном хосте. Модуль развертывания зеркала может развернуть собственный Nginx с требуемой конфигурацией (хост должен соответствовать общим требованиям модуля):

Команда
stm external nginx --fqdn=mirror.example.ru

Миграция старого зеркала на новое

Требование к новому зеркалу:

  • новое зеркало должно иметь те же сертификаты, что и старое;
  • новое зеркало должно иметь тот же fqdn, что и старое.

Если планируется использовать тот же хост, где развернуто старое зеркало, необходимо остановить старое зеркало, удалить container runtime. Если использовался родной podman старого зеркала, достаточно удалить файл /usr/local/bin/podman. Для минимизации рисков и даунтайма зеркала рекомендуется подготовить новый хост, и после всех настроек внести необходимые изменения в dns.

Подготовка нового зеркала:

  1. Отключить selinux
  2. Скопировать файлы сертификатов со старого зеркала на новое - certs/shturval_offline_installer_chain.pem, certs/shturval_offline_installer.key.
  3. Запросить подготовку бандла с нужными версиями. Список версий в старом зеркале можно посмотреть в файле images/repo/bin/versions.json.
  4. Инициализировать зеркало с указанием сертификатов согласно инструкции (параметры --cert-file=/root/old-mirror/certs/shturval_offline_installer_chain.pem --privkey-file=/root/old-mirror/certs/shturval_offline_installer.key).
  5. Проверить корректность работы registry, перезапустив какой нибудь под (с pull policy always).
Для deb дистрибутивов (Astra, Debian, Ubuntu)

Загрузить файл https://MIRROR_FQDN/shturval.gpg на узлы кластеров, где вместо MIRROR_FQDN подставить FQDN зеркала.

Найти gpg ключ shturval.tech platform@shturval.tech:

apt-key list 

Удалить найденный ключ:

apt-key del "C000 4F50 599F CE5F 0E5F  26BB 071B 2C00 23DE 2D9F" 

Добавить новый ключ:

apt-key add ./shturval.gpg 

Можно проверить корректность, удалив пакет kubectl и поставив его заново.

Установка кластера управления

Параметры команды

Вызов справки
Параметр Описание
-h, --help Справка о команде
Пример
./stc install management --help
Параметры инсталляции
Параметр Описание
--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] Адреса Master-узлов
--worker-nodes [string] Адреса Worker-узлов
--api-endpoint [string] Адрес API управления кластером
--cluster-name [string] Имя кластера
--disabled-system-services [string] Список отключенных системных сервисов
--enabled-system-services [string] Список включенных системных сервисов
--ha-type [string] Тип доступности кластера: single (одноузловой) или ha (высокодоступный)
--ingress [string] Wildcard DNS-запись для ingress в формате apps.corporate.domain
--ingress-vip [string] VIP адрес для 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 контроллера. Значение по умолчанию – false
--use-external-kubeapi-lb Использовать внешний балансировщик кластерного IP. Значение по умолчанию – false
--ca-cert Путь до промежуточного сертификата (“pem” файла), который может быть использован в дальнейшем для подписания других сертификатов
--ca-key Путь до закрытого ключа промежуточного сертификата CA
--acme-root-cert Путь до файла корневого сертификата CA для ACME
--acme-url Адрес ACME сервера с портом и путем к ресурсу, например: https://acme.corp.lan:8443/directory
--ingress-cert [string] Путь до корпоративного сертификата(“pem” файла), который был выпущен CA(в этом случае в файле будет цепочка сертификатов) или самоподписан для доменного имени Ingress
--ingress-key [string] Путь до закрытого ключа корпоративного сертификата Ingress
--pod-subnet [string] Подсеть для подов. Значение по умолчанию – 172.16.0.0/16
--service-subnet [string] Подсеть сервисов. Значение по умолчанию – 10.96.0.0/12

Обратите внимание! Диапазон подсетей может быть изменен в соответствии с вашими потребностями. Подсети подов и сервисов располагаются в общем overlay network кластера. Подсеть подов и сервисов разворачивается только внутри кластера и не пересекается с другими кластерами и вашей корпоративной сетью. Фактически, даже если подсеть подов/сервисов совпадает с вашей корпоративной, то доступа у подов к сервисам вне кластера не будет.

При использовании корпоративного зеркала корневой сертификат зеркала должен быть прописан в доверенные на все ВМ и шаблоны.

Генерация ключевой пары

Для пользователя, под которым платформа будет устанавливаться (—ssh-user) необходимо передать открытую часть ключа командой ssh-copy-id на хосты будущей платформы

Сгенерировать ключ можно с помощью команды
# генерируем ключевую пару
ssh-keygen -t ed25519 -f shturval
# копируем открытую часть на машину
ssh-copy-id -i shturval.pub ssh-user@IP

Режимы инсталляции

Интерактивный режим инсталляции

Запустите инсталляцию с помощью команды
./stc install management --interactive

Введите данные в соответствии с подсказками, которые отобразятся на экране.

Пример процесса инсталляции в интерактивном режиме для кластера с одним Master-узлом и одним Worker-узлом
Введите название кластера: clustername
Введите адрес реестра образов и репозиториев пакетов: r.shturval.tech
Введите лицензию: ХХХХХХХ
Ведите имя пользователя для подключения по SSH: shturval 
Введите путь к файлу приватного ключа SSH: ./путь к приватному ключу
Определите конфигурацию группы ControlPlane:
  ▸ single (1 master-узел)
    ha (3 master-узла)
master-узел 1: ХХ.ХХ.ХХX.ХХX
worker-узел 1: ХХ.ХХ.ХХX.ХХX
Продолжить добавление узлов?:
    Да
  ▸ Нет
Использовать внешний балансировщик для API-сервера?:
 ▸ Да, использовать внешний
   Нет, использовать внутренний
Введите IP-адрес KubeAPI-сервера кластера управления: 
Использовать внешний балансировщик для Ingress?:
    Да, использовать внешний
  ▸ Нет, использовать внутренний
Применить стандартные настройки для подсетей, адреса реестра образов, NTP и часовой пояс?:
    Да, использовать стандартные
  ▸ Нет, задать кастомные
Укажите подсеть подов: 172.16.0.0/16 
Укажите подсеть сервисов: 10.96.0.0/12
Укажите NTP-сервера через запятую: 0.ru.pool.ntp.org,1.ru.pool.ntp.org
Введите часовой пояс: Europe/Moscow
Какой тип сертификата использовать в платформе?:
    корпоративный
    Wildcard
  ▸ ACME
    самоподписной
Введите путь до файла корневого сертификата CA для ACME:
: ./hack/create-cluster/acme-ca.crt 
Введите адрес ACME сервера с портом и путем к ресурсу:
: https://issuer.ip-xx-xx-xx-xx.shturval.link:9443//directory
Установить стандартный набор системных сервисов?:
    Да, установить стандартный набор системных сервисов
  ▸ Нет, выбрать состав сервисов самостоятельно
Выберите сервисы для установки:
? Установить сервис shturval-descheduler:
 ▸ Да
   Нет
# Когда выбрана установка сервисов 
Сервис shturval-log-operator будет установлен
Сервис shturval-logs-operator будет установлен
# Если не выбирать установку сервисов
Сервис shturval-dashboards не будет установлен
Сервис shturval-metrics не будет установлен
Сервис shturval-backup не будет установлен
Сервис shturval-scanner не будет установлен
Сервис shturval-rollouts не будет установлен
Сервис shturval-policy-manager не будет установлен
Сервис shturval-cd будет не установлен
Сервис shturval-cert-expiration не будет установлен
Сервис shturval-monitoring-alertmanager будет установлен
Сервис shturval-monitoring-agent будет установлен
Сервис shturval-capbd будет установлен
Сервис shturval-capos будет установлен
Сервис shturval-nfs-csi будет установлен
Сервис shturval-ceph-cephfs будет установлен
Сервис shturval-ceph-rbd будет установлен
Сервис shturval-coreha будет установлен
Сервис shturval-metacni будет установлен
Сервис shturval-metacni-ipam будет установлен
Сервис shturval-sriov будет установлен
Сервис shturval-trust-manager будет установлен
Укажите адрес мониторинга для отправки системных метрик: example.link
Установить рекомендуемую Audit Policy и secret encryption?:
 ▸ Да
   Нет
Пример процесса инсталляции
Выполняется установка модуля управления конфигурацией узлов
Имя кластера: clustername
Адрес Kubernetes API: ХХ.ХХ.ХХX.ХХX:6443
Ingress: apps.ip-xx-xx-xx-xx.shturval.link
Ingress VIP: ХХ.ХХ.ХХX.ХХX
Ingress external LB: false
Kubernetes API external LB: false
Конфигурация Controlplane: Отдельный узел
Расширенные параметры информационной безопасности: выкл.
Используемый репозиторий: r.shturval.tech
Версия платформы Штурвал: 2.8.1
Узлы:
   Информация об узлов кластера кластера управления
Роль       Имя узла                       Адрес                Операционная система
master     redosmzq2                      ХХ.ХХ.ХХX.ХХX        redos
...        ...                            ...                  ...
Настройка узлов
Инициализация первого узла кластера redosjbwq успешно
Добавление узлов в кластер
Выполняется попытка установить лейблы для worker-узлов кластера.
Лейблы для worker-узлов успешно установлены.
Установка CNI...
Может занять несколько минут.

CNI успешно установлен
Подготовка конфигурации для Ingress VIP успешно завершена.
Создаю ClusterIssuer ACME
Установка системных компонентов (base) кластера...
Может занять несколько минут.
Установка системных компонентов (mgmt) кластера...
Может занять несколько минут.

Осуществляю подпись сертификатов
Статус установки системных сервисов:
   Модули и компоненты, устанавливаемые в кластер управления
Компонент создания ресурсов для модуля управления TLS-сертификатами                                 развернут
...                                                                                                 ...
Выполняется попытка установить Cluster API ресурсы
Выполняется попытка обновить machines
Кластер успешно развернут
Для подключения используйте ключ /путь_до_конфигурационного файла/clusteradmin.conf
Веб интерфейс Штурвала доступен по адресу https://front.apps.ip-XX-XX-XXX-XXX.shturval.link
Для подключения используйте логин admin и пароль XXXXXXXXXX

Если инсталляция завершилась с ошибками, информация о них отобразится в логе.

Тихий режим инсталляции

Команда для запуска инсталляции в тихом режиме
./stc install management --cluster-name=test-cluster --license=$SHTURVAL_LICENSE \
--ssh-user=%имя_пользователя% --ssh-private-key=%путь к файлу с ключом%  --ha-type=ha \
--master-nodes=master1,master2,master3 --worker-nodes=worker1,worker2 --ingress-vip=[string] \
--ca-cert=./cert.pem  --ca-key=./key.pem
Пример
./stc install management --license="qwe123asd" --registry=corp.domain.local:443 --use-external-ingress-lb=true --api-endpoint=api.corp.domain.local --cluster-name=management --ha-type=ha --ingress=apps.corp.domain.local --master-nodes=10.0.0.3,10.0.0.4,10.0.0.56 --worker-nodes=10.0.0.11,10.0.0.12,10.0.0.13 --ssh-user=shturval --ssh-private-key=/home/shturval/.ssh/id_rsa --use-external-ingress-lb=true --pod-subnet=100.80.0.0/16 --service-subnet=100.64.0.0/12 --secure=true --skip-check --debug --ca-cert=./cert.pem  --ca-key=./key.pem

Если какой-либо параметр указан неверно:

  • инсталляция остановится;
  • отобразится сообщение с указанием ошибки и некорректного параметра;
  • процесс остановится.

В этом случае устраните ошибку и перезапустите процесс развертывания.

Смешанный режим инсталляции

В смешанном режиме пропишите в команде признак --interactive и добавьте необходимые параметры. Остальные необходимые для инсталляции параметры система запросит в режиме диалога.

Пример запуска установки кластера управления в смешанном режиме
./stc install management  --interactive --license=$SHTURVAL_LICENSE \
--ntp-servers=0.ru.pool.ntp.org,1.ru.pool.ntp.org \
--disabled-system-services=shturval-cd,shturval-rollouts,shturval-policy-manager,shturval-scanner,shturval-policies
**Если инсталляция завершилась с ошибками, информация о них отобразится в логе.**

Полезная информация

Установка сервисов в процессе инсталляции

  • Чтобы использовать системный Ingress-controller (Virtual IP) при инсталляции используйте параметр --ingress-vip. Пропишите свободный IP-адрес. Технические сервисы будут преконфигурированы при инсталляции.
  • Если у вас есть Wildcard-запись и вы хотите использовать системный Ingress-controller (Virtual IP) при инсталляции используйте параметры --ingress-vip и --ingress. При этом IP-адрес имени хоста ingress должен совпадать с IP-адресом, указанным в ingress-vip.
  • Если у вас есть Wildcard-запись и вы хотите использовать внешний Ingress-controller при инсталляции используйте параметры --ingress и --use-external-ingress-lb со значением true. При инсталляции будут выведены подсказки по конфигурации на примере HAProxy. В таком случае вам необходимо самостоятельно создать Load balancer и распределить трафик на Worker-узлы.

Для управления в процессе инсталляции необходимо использовать названия чартов сервисов.

Список доступных для управления сервисов
Название чарта Название в графическом интерфейсе
shturval-descheduler Модуль распределения нагрузки узлов
shturval-log-operator Модуль локального сбора логов
shturval-logs-operator Модуль хранения логов
shturval-dashboards Модуль графического отображения метрик
shturval-metrics Модуль локального сбора метрик
shturval-local-csi Модуль локального хранения
shturval-backup Модуль резервного копирования и восстановления
shturval-scanner Модуль сканирования образов контейнеров
shturval-rollouts Модуль управления развертыванием прикладных сервисов
shturval-policy-manager Модуль анализа конфигураций приложений
shturval-cd Модуль непрерывной доставки приложений
shturval-cert-expiration Модуль проверки сертификатов API Kubernetes
shturval-monitoring-alertmanager Алертинг модуля сбора метрик системного мониторинга
shturval-monitoring-agent Модуль мониторинга. Компонент автоматизированного управления мониторингом созданных ресурсов
shturval-capbd Провайдер Basis Dynamix
shturval-capos Провайдер OpenStack
shturval-nfs-csi Модуль NFS оператора
shturval-ceph-cephfs Модуль Ceph CSI - Ceph File System
shturval-ceph-rbd Модуль Ceph CSI - Ceph Block Device
shturval-capov-csi Модуль oVirt CSI
shturval-capvs-csi Модуль VMWare vSphere CSI
shturval-coreha Модуль поиска узлов с запущенными hostport сервисами
shturval-metacni Модуль подключения несколько сетевых интерфейсов к модулям в Kubernetes
shturval-metacni-ipam Модуль назначения IP-адресов на интерфейсах, созданных Multus
shturval-sriov SR-IOV Operator
shturval-trust-manager Модуль доставки корневых сертификатов

Перейти на страницу с описанием параметров для конфигурации сервисов.

Troubleshooting

Если установка происходит в закрытом контуре (без доступа к сети Интернет) на Red OS и была произведена ручная модификация файлов /etc/yum.repos.d/RedOS-*.repo (например baseurl изменён на адрес прокси репозитория или зеркала):

На всех нодах кластера необходимо:

  • Установить пакет python3-dnf-plugin-versionlock
  • Поставить versionlock на пакет redos-release
  • Определить тип установки дистрибутива (minimal, server, desktop). Тип установки можно посмотреть в файле /etc/redos-release . Также можно посмотреть наличие пакетов redos-release-minimal, redos-release-server или redos-release-desktop
  • Поставить versionlock, на соответветствующей установке дистрибутива пакет (redos-release-minimal, redos-release-server, redos-release-desktop).
Пример для minimal инсталляции
 yum install python3-dnf-plugin-versionlock
 yum versionlock add redos-release redos-release-minimal

Проверка настроек прокси и доступности локального зеркала

  1. Проверка настроек прокси:

Если в конфигурационных файлах пакетного менеджера присутствуют настройки прокси, например:

  • для APT: /etc/apt/apt.conf,
  • для YUM: /etc/yum.conf,
  • для DNF: /etc/dnf/dnf.conf,

убедитесь, что прокси-сервер имеет доступ к локальному зеркалу платформы Штурвал.

  1. Действия при недоступности локального зеркала через прокси:

Если настройка прокси и предоставление доступа к локальному зеркалу затруднены, выполните следующие шаги:

  • Удалите или закомментируйте текущие настройки прокси в соответствующем конфигурационном файле.
  • Удалите или отключите репозитории, которые стали недоступны из-за отсутствия прокси-доступа:
    • Для APT: файлы /etc/apt/sources.list и все репозитории в директории /etc/apt/sources.list.d/.
    • Для YUM/DNF: файлы репозиториев в директории /etc/yum.repos.d/.
  1. Проверка доступности репозиториев:

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

Дополнительные рекомендации

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

Рекомендуем всегда прописывать ntp-серверы и указывать сервисы, которые не нужно включать по умолчанию.

Пример
--ntp-servers - укажите корпоративные или 0.ru.pool.ntp.org, 1.ru.pool.ntp.org
--disabled-system-services - укажите, какие сервисы не нужно включать по умолчанию

Рекомендуем использовать внешний балансировщик для кластера управления в промышленной (продуктивной) среде.

Как изменить пароль администратора

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

Чтобы сменить пароль администратора по умолчанию, перейдите в установленный сервис “Модуль программного управления платформой Штурвал” (shturval-backend) кластера управления. В спецификации сервиса найдите параметр: static_password и обновите его значение.