Подготовка управляющего хоста
|
Все IP-адреса, доменные имена и учетные записи пользователей в командах ниже указаны в качестве примера. Для корректного выполнения команд необходимо заменить значения этих параметров на актуальные. Команды выполняются на управляющем хосте. |
1. Дополнительные компоненты
-
Проверьте, что
GNU tarустановлен при помощи команды:tar --version | grep GNUВ выводе должно присутствовать
GNU.Пример вывода:tar (GNU tar) 1.34 License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/ gpl.html>. -
Убедитесь, что установлен Python версии 3.9 или выше и venv.
На ОС Linux venv устанавливается с отдельным пакетом python3-venv.
2. Загрузка образа deploy-manager и настройка окружения
|
Для доступа к репозиторию zVirt DC Manager необходимо получить учетные данные для входа. |
-
Из репозитория zVirt DC Manager скачайте архив с расширением tar — архив с дистрибутивом.
-
(Опционально) Проверьте целостность архива с дистрибутивом.
-
Распакуйте архив с дистрибутивом.
В распакованном архиве будет находиться директория portal-box с файлами, необходимыми для установки.
-
Перейдите в директорию portal-box и загрузите образ deploy-manager командой:
docker load < deploy-manager-1.8.1.tar.gz -
(Опционально) Проверьте образ на доступность:
docker imagesПример ответа, если образ доступен:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/deploy-manager 1.8.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 [k3s_agent] [k3s_lb] [k3s_lb_vip] [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); обязательный ключВид файла 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) [[domains_int_ext]]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-адрес не должен использоваться в сети другим узлом
-
-
Измените настройки в файле config.yml, расположенном в каталоге inventories/box/group_vars/{}.
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 |
||
username |
Имя в формате: <имя_пользователя>@internalsso |
Имя пользователя в Keycloak с правами администратора для доступа к zVirt REST API. Для администратора по умолчанию — admin@zvirt@internalsso
|
||
password |
Пароль для доступа к платформе |
|||
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 через пользовательский интерфейс
Чтобы заполнить настройки через пользовательский интерфейс:
-
Из каталога, в котором хранится файл config.yml, откройте главное меню командой:
manage-tool.sh --ui -
В окне Main menu выберите строку с нужными настройками.
-
Заполните поля с параметрами и нажмите OK.
При заполнении полей кавычки удалять не нужно — они необходимы для корректной работы.
-
Убедитесь, что созданный файл config.yml находится в нужном каталоге с настройками окружения.
Утилита manage-tool.sh создает файл config.yml в том же каталоге, из которой была запущена. Поэтому после заполнения config.yml нужно проверить каталог, в котором вы находитесь.
Если вы находитесь не в каталоге с настройками окружения:
-
Переместите файл config.yml в каталог с настройками окружения, по умолчанию — в portal-box/inventories/box/group_vars/k3s.
-
Подтвердите замену существующего там файла 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
username: 'admin@zvirt@internalsso'
password: '12345'
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 с полученным в результате проверки значением.
Проверка считается успешной в случае полного совпадения значений.