Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Подготовка управляющего хоста

Все IP-адреса, доменные имена и учетные записи пользователей в командах ниже указаны в качестве примера. Для корректного выполнения команд необходимо заменить значения этих параметров на актуальные.

Команды выполняются на управляющем хосте.

1. Дополнительные компоненты

  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>.
  2. Убедитесь, что установлен Python версии 3.9 или выше и venv.

    На ОС Linux venv устанавливается с отдельным пакетом python3-venv.

2. Загрузка образа deploy-manager и настройка окружения

Для доступа к репозиторию zVirt DC Manager необходимо получить учетные данные для входа.

  1. Из репозитория zVirt DC Manager скачайте архив с расширением tar — архив с дистрибутивом.

  2. (Опционально) Проверьте целостность архива с дистрибутивом.

  3. Распакуйте архив с дистрибутивом.

    В распакованном архиве будет находиться директория portal-box с файлами, необходимыми для установки.

  4. Перейдите в директорию portal-box и загрузите образ deploy-manager командой:

    docker load < deploy-manager-1.8.1.tar.gz
  5. (Опционально) Проверьте образ на доступность:

    docker images

    Пример ответа, если образ доступен:

    REPOSITORY                        TAG         IMAGE ID      CREATED       SIZE
    docker.io/library/deploy-manager  1.8.1       243f5d6cb054  3 months ago  1.05 GB
  6. Скопируйте примеры заполненных конфигурационных файлов из каталога sample:

    cp -R inventories/sample inventories/box

    Каталог sample копируется, чтобы восстановить исходные данные или свериться с примерами заполнения при необходимости.

    Имя каталога, в который копируются примеры, произвольное: каталог box можно изменить на другой.

  7. Создайте SSH-ключ и скопируйте его на целевой хост:

    1. Создайте SSH-ключ, если он отсутствует:

      ssh-keygen
    2. Скопируйте SSH-ключ на целевой хост:

      ssh-copy-id [id пользователя]

      Команда с примером id пользователя: ssh-copy-id astra@10.10.10.6

      Если авторизация по паролю на сервере запрещена, добавьте ключ вручную в authorized_key:

      1. Выведите содержимое публичного ключа:

        cat ~/.ssh/id_rsa.pub
      2. Подключитесь на целевой хост с помощью доступных вам вариантов: ssh, vnc, novnc и так далее.

      3. Добавьте содержимое публичного ключа из первого шага в файл authorized_keys:

        echo 'ssh-rsa AAAAB3NzaC1yc ... ' >> ~/.ssh/authorized_keys
  8. Заполните файл 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)
    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-адрес не должен использоваться в сети другим узлом

  9. Измените настройки в файле config.yml, расположенном в каталоге inventories/box/group_vars/{}.

3. Настройки файла config.yml

В таблице ниже перечислены параметры настроек, содержащиеся в файле config.yml.

Таблица 1. Описание параметров config.yml для платформы zVirt
Параметр Значение Описание

type

zvirt

Тип платформы виртуализации, фиксированное значение

Параметр type чувствителен к регистру символов, поэтому важно указать название платформы корректно

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

Для инсталляций zVirt без Keycloak формат имени пользователя — <имя_пользователя>@internal. По умолчанию — admin@internal.

password

Пароль для доступа к платформе

params

weight

По умолчанию: 100

Вес платформы в интерфейсе заказа продукта. Чем меньше вес, тем выше в списке. Например, weight:11, weight:102

cluster_id

Скопируйте ID кластера в интерфейсе zVirt. Для этого:

  1. На административном портале zVirt перейдите в раздел Ресурсы  Кластеры.

  2. Нажмите название кластера. Откроется страница с подробной информацией.

  3. Скопируйте ID кластера из соответствующего поля.

cluster_name

Введите название кластера

storage_name

Скопируйте название хранилища в интерфейсе zVirt

Для этого на административном портале zVirt перейдите в раздел Хранилище  Домены. Скопируйте имя нужного домена

dns_servers

По умолчанию: не задан

Опционально вы можете указать один или несколько DNS-серверов. Несколько DNS-серверов указываются списком, например:

- 1.1.1.1
- 2.2.2.2

Вы можете добавить самоподписанный сертификат после установки модуля zVirt DC Manager или добавить TLS-сертификат до запуска развертывания модуля zVirt DC Manager. Для добавления TLS-сертификата нужно выполнить дополнительные действия перед запуском развертывания модуля.

Параметры, перечисленные в таблице ниже, заполняются только при добавлении TLS-сертификата.

Таблица 2. Описание параметров config.yml для вставки CA-сертификата

Параметр

Значение

Описание

tls_ca_cert

Цепочка сертификатов (CA chain)

Описание параметров и дополнительных действий для добавления TLS-сертификата — в разделе Добавление TLS-сертификата

tls_cert

Серверный сертификат

tls_key

Приватный ключ сервера

Вы можете заполнить настройки в файле config.yml вручную или через пользовательский интерфейс.

3.1. Заполнение файла config.yml через пользовательский интерфейс

Чтобы заполнить настройки через пользовательский интерфейс:

  1. Из каталога, в котором хранится файл config.yml, откройте главное меню командой:

    manage-tool.sh --ui
  2. В окне Main menu выберите строку с нужными настройками.

  3. Заполните поля с параметрами и нажмите OK.

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

  4. Убедитесь, что созданный файл config.yml находится в нужном каталоге с настройками окружения.

    Утилита manage-tool.sh создает файл config.yml в том же каталоге, из которой была запущена. Поэтому после заполнения config.yml нужно проверить каталог, в котором вы находитесь.

    Если вы находитесь не в каталоге с настройками окружения:

    1. Переместите файл config.yml в каталог с настройками окружения, по умолчанию — в portal-box/inventories/box/group_vars/k3s.

    2. Подтвердите замену существующего там файла config.yml на созданный.

3.2. Заполнение файла config.yml вручную

Чтобы заполнить настройки вручную, в каталоге inventories/box/group_vars/{} откройте файл config.yml.

В файле config.yml:

  1. Для режима Single Instance значение параметра build_cluster: false — оставьте по умолчанию. Для режима High Availability активируйте установку в кластерном режиме: build_cluster: true

  2. В строке platforms:{} удалите фигурные скобки: platforms:.

  3. Раскомментируйте строки платформы виртуализации и подставьте нужные значения. В параметре 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. Проверка целостности дистрибутива

Для проверки целостности дистрибутива:

  1. После загрузки дистрибутива запустите утилиту md5sum с указанием имени дистрибутива:

    md5sum <имя_дистрибутива>.tar
    Пример:
    md5sum zvirt-dc-manager-1.27-20250827T192016.tar

    После выполнения проверки будет выдано сообщение с контрольной суммой.

    Пример:
    f458058f29e5f6cbcc0618acb71a88d6  zvirt-dc-manager-1.27-20250827T192016.tar
  2. Сравните значение из файла с расширением md5 с полученным в результате проверки значением.

    Проверка считается успешной в случае полного совпадения значений.

    crc check