Подготовка управляющего хоста
|
Все IP-адреса, доменные имена и учетные записи пользователей в командах ниже указаны в качестве примера. Для корректного выполнения команд необходимо заменить значения этих параметров на актуальные. Команды выполняются на управляющем хосте. |
1. Дополнительные компоненты
-
Убедитесь, что установлен Python версии 3.9 или выше и venv:
python3 --versionПример вывода:Python 3.9.1 -
-
Если установлен пакет podman-docker, удалите его:
sudo dnf remove podman-dockerЕсли на РЕД ОС установлен пакет podman-docker, он будет конфликтовать с пакетом docker-ce.
-
Установите пакеты docker-ce и jq с включенным автозапуском и запустите сервис Docker CE:
sudo dnf install -y docker-ce jq && systemctl enable --now dockerВ подготовленных шаблонах виртуальных машин автозапуск сервиса Docker CE может быть уже включен.
-
-
Для Astra Linux и Ubuntu установите пакеты docker.io и jq с включенным автозапуском и запустите сервис Docker:
sudo apt install -y docker.io jq && systemctl enable --now docker
2. Загрузка образа deploy-manager и настройка окружения
|
Для доступа к репозиторию zVirt DC Manager необходимо получить учетные данные для входа. |
-
Из репозитория zVirt DC Manager скачайте архив с расширением tar — архив с дистрибутивом.
-
(Опционально) Проверьте целостность архива с дистрибутивом.
-
Распакуйте архив с дистрибутивом.
В распакованном архиве будет находиться директория portal-box с файлами, необходимыми для установки.
-
Перейдите в директорию portal-box.
-
(Опционально) Проверьте образ на доступность:
docker imagesПример ответа, если образ доступен:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/deploy-manager 1.9.1 243f5d6cb054 3 months ago 1.05 GB -
Скопируйте примеры заполненных конфигурационных файлов из каталога sample:
cp -R inventories/sample inventories/boxКаталог sample копируется, чтобы восстановить исходные данные или свериться с примерами заполнения при необходимости.
Имя каталога, в который копируются примеры, произвольное: каталог box можно изменить на другой.
-
Создайте SSH-ключ и скопируйте его на целевой хост:
-
Создайте SSH-ключ, если он отсутствует:
ssh-keygen -
Скопируйте SSH-ключ на целевой хост:
ssh-copy-id [id пользователя]Команда с примером id пользователя:
ssh-copy-id astra@10.10.10.6-
Выведите содержимое публичного ключа:
cat ~/.ssh/id_rsa.pub -
Подключитесь на целевой хост с помощью доступных вам вариантов: ssh, vnc, novnc и так далее.
-
Добавьте содержимое публичного ключа из первого шага в файл authorized_keys:
echo 'ssh-rsa AAAAB3NzaC1yc ... ' >> ~/.ssh/authorized_keys
-
-
-
Заполните файл hosts, расположенный в каталоге inventories/box/. Описание настроек находится в комментариях этого файла.
Вид файла hosts при установке в режиме Single Instance
[k3s_server] target-dcmanager.sample.box ansible_host=10.10.10.1 (1) [k3s_agent] [k3s_lb] [k3s_lb_vip] [k3s:children] k3s_server k3s_agent k3s_lb [all:vars] ansible_user=root (2) domain_int=dcmanager.sample.box (3) domain_ext=dcmanager.sample.box (4) prefix_int='' prefix_ext=''1 Доменное имя целевого хоста и его IP-адрес 2 ansible_user— пользователь, который подключается к серверу с ролью целевого хоста и может получить права sudo без дополнительного ввода пароля; обязательный ключ3 domain_int— внутренний домен и, опционально, поддомен организации; обязательный ключ4 domain_ext— внешний домен и, опционально, поддомен организации. Если не предполагается использование внешнего доменного имени, должно быть указано то же значение, что и в параметре domain_int; обязательный ключВид файла hosts при установке в режиме High Availability
[k3s_server] server1-dcmanager.sample.box ansible_host=10.10.10.1 server2-dcmanager.sample.box ansible_host=10.10.10.2 server3-dcmanager.sample.box ansible_host=10.10.10.3 [k3s_agent] agent1-dcmanager.sample.box ansible_host=10.10.10.4 agent2-dcmanager.sample.box ansible_host=10.10.10.5 agent3-dcmanager.sample.box ansible_host=10.10.10.6 [k3s_lb] lb01-dcmanager.sample.box ansible_host=10.10.10.7 lb02-dcmanager.sample.box ansible_host=10.10.10.8 [k3s_lb_vip] lb-vip-dcmanager.sample.box ansible_host=10.10.10.9 [k3s:children] k3s_server k3s_agent k3s_lb [all:vars] ansible_user=root (1) domain_int=dcmanager.sample.box (2) domain_ext=dcmanager.sample.box (3) prefix_int='' prefix_ext=''1 ansible_user— пользователь с правамиsudo, который подключается к серверу с ролью целевого хоста; дополнительный ключ2 domain_int— внутреннее доменное имя; обязательный ключ3 domain_ext— внешнее доменное имя (если не предполагается использование внешнего доменного имени, должно быть указано то же значение, что и в параметре domain_int); обязательный ключДля группы хостов k3s_lb_vip укажите IP-адрес, который на данный момент не привязан ни к одному хосту. Этот IP-адрес (VIP) будет использоваться попеременно балансировщиками нагрузки. Требования:
-
VIP-адрес не должен находиться в пуле выдачи DHCP-сервера, либо должен быть зарезервирован
-
VIP-адрес должен находиться в одной подсети c целевым хостом
-
VIP-адрес не должен использоваться в сети другим узлом
-
3. Настройки файла config.yml
В таблице ниже перечислены параметры настроек, содержащиеся в файле config.yml.
| Параметр | Значение | Описание | ||
|---|---|---|---|---|
type |
zvirt |
Тип платформы виртуализации, фиксированное значение
|
||
label |
Человекочитаемое название платформы виртуализации |
В параметре можно указать любое название, например, «Zvirt-1», «Zvirt-test» и так далее |
||
scheme |
По умолчанию: https |
Схема для доступа к zVirt API. Протокол HTTPS — протокол по умолчанию, который рекомендуется использовать |
||
host |
he.sample.box |
Доменное имя менеджера управления подключаемой платформы |
||
port |
По умолчанию: 443 |
Если иной порт не указан, то используется 443 — стандартный порт протокола HTTPS |
||
params |
weight По умолчанию: 100 |
Вес платформы в интерфейсе заказа продукта. Чем меньше вес, тем выше в списке.
Например, |
||
cluster_id |
Скопируйте ID кластера в интерфейсе zVirt. Для этого:
|
|||
cluster_name |
Введите название кластера |
|||
storage_name |
Скопируйте название хранилища в интерфейсе zVirt Для этого на административном портале zVirt перейдите в раздел . Скопируйте имя нужного домена |
|||
По умолчанию: не задан |
Опционально вы можете указать один или несколько DNS-серверов. Несколько DNS-серверов указываются списком, например: - 1.1.1.1 - 2.2.2.2 |
|
Вы можете добавить самоподписанный сертификат после установки модуля zVirt DC Manager или добавить TLS-сертификат до запуска развертывания модуля zVirt DC Manager. Для добавления TLS-сертификата нужно выполнить дополнительные действия перед запуском развертывания модуля. Параметры, перечисленные в таблице ниже, заполняются только при добавлении TLS-сертификата. |
Параметр |
Значение |
Описание |
tls_ca_cert |
Цепочка сертификатов (CA chain) |
Описание параметров и дополнительных действий для добавления TLS-сертификата — в разделе Добавление TLS-сертификата |
tls_cert |
Серверный сертификат |
|
tls_key |
Приватный ключ сервера |
Вы можете заполнить настройки в файле config.yml через текстовый пользовательский интерфейс или вручную.
3.1. Заполнение файла config.yml через текстовый пользовательский интерфейс
С помощью текстового пользовательского интерфейса (TUI) вы можете:
|
Файл config.yml, заполняемый через TUI, сразу же будет добавлен в директорию inventories/box/group_vars/k3s. |
-
Из каталога, в котором хранится файл config.yml, откройте TUI командой:
./manage-tool.sh --uiОткроется редактор конфигурации, который содержит разделы с настройками. Навигация по разделам возможна с помощью клавиатуры или мыши.
-
Задайте значения для обязательных настроек:
-
— активируйте для развертывания модуля в режиме High Availability (true), по умолчанию выбран режим Single Instance (false).
-
Платформы виртуализации — нажмите Добавить запись:
-
В открывшемся окне выберите тип платформы — zVirt
-
В окне Введите код задайте код для платформы, код может быть любым сочетанием букв, цифр и символа нижнего подчеркивания.
-
Нажмите OK.
После этого откроется окно с настройками параметров платформы.
-
Заполните нужные параметры платформы.
Каждая настройка в TUI привязана к конкретному параметру из config.yml. Когда вы выбираете настройку, TUI показывает служебное имя соответствующего параметра. Подробное описание параметров config.yml — в таблице выше.
-
-
После заполнения параметров платформы перейдите в другие разделы и заполните нужные настройки, следуя подсказкам на экране.
-
-
После заполнения нужных настроек нажмите Сохранить.
При сохранении изменений выполняется валидация настроек — проверяется, например, наличие обязательных параметров и корректность формата значений. Если настройки содержат ошибки, при попытке сохранения появится окно со списком параметров и описанием каждой ошибки.
-
В каталоге с файлом config.yml введите команду:
./manage-tool.sh --ui --validate config.yml -
Убедитесь, что валидация прошла успешно, иначе — отредактируйте файл config.yml.
-
Из каталога, в котором хранится файл config.yml, откройте TUI командой:
./manage-tool.sh --ui --load config.yml -
Внесите нужные изменения и нажмите Сохранить.
3.2. Заполнение файла config.yml вручную
Чтобы заполнить настройки вручную, в каталоге inventories/box/group_vars/{} откройте файл config.yml.
В файле config.yml:
-
Для режима Single Instance значение параметра
build_cluster: false— оставьте по умолчанию. Для режима High Availability активируйте установку в кластерном режиме:build_cluster: true -
В строке
platforms:{}удалите фигурные скобки:platforms:. -
Раскомментируйте строки платформы виртуализации и подставьте нужные значения. В параметре
typeукажитеzvirt.При раскомментировании строк необходимо сохранять изначальные отступы. Несоблюдение отступов нарушает структуру файла, что может приводить к ошибкам установки.
Пример заполнения переменных для подключения zVirt в файле config.yml
build_cluster: false (1)
platforms:
zvirt:
type: zvirt
label: zVirt
scheme: https
host: he.sample.box
port: 443
params:
weight: 100
cluster_id: d90193d6-5c5a-11ee-bd56-00163e10167d
cluster_name: Default
storage_name: Main_VM
####################################
Продолжение конфигурационного файла
| 1 | false — значение по умолчанию для Single Instance |
4. Проверка целостности дистрибутива
Для проверки целостности дистрибутива:
-
После загрузки дистрибутива запустите утилиту md5sum с указанием имени дистрибутива:
md5sum <имя_дистрибутива>.tarПример:md5sum zvirt-dc-manager-1.27-20250827T192016.tarПосле выполнения проверки будет выдано сообщение с контрольной суммой.
Пример:f458058f29e5f6cbcc0618acb71a88d6 zvirt-dc-manager-1.27-20250827T192016.tar -
Сравните значение из файла с расширением md5 с полученным в результате проверки значением.
Проверка считается успешной в случае полного совпадения значений.