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

Установка

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

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

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

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

  1. Убедитесь, что установлен Python версии 3.9 или выше и venv:

    python3 --version
    Пример вывода:
    Python 3.9.1
  2. Для РЕД ОС:

    1. Если установлен пакет podman-docker, удалите его:

      sudo dnf remove podman-docker

      Если на РЕД ОС установлен пакет podman-docker, он будет конфликтовать с пакетом docker-ce.

    2. Установите пакеты docker-ce и jq с включенным автозапуском и запустите сервис Docker CE:

      sudo dnf install -y docker-ce jq && systemctl enable --now docker

      В подготовленных шаблонах виртуальных машин автозапуск сервиса Docker CE может быть уже включен.

  3. Для Astra Linux и Ubuntu установите пакеты docker.io и jq с включенным автозапуском и запустите сервис Docker:

    sudo apt install -y docker.io jq && systemctl enable --now docker

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

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

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

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

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

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

  4. Перейдите в директорию portal-box.

  5. Скопируйте примеры заполненных конфигурационных файлов из каталога sample:

    cp -R inventories/sample inventories/box
  6. Создайте SSH-ключ и скопируйте его на целевой хост:

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

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

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

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

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

  7. Заполните файл 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; обязательный ключ
  8. В файле config.yml, расположенном в каталоге inventories/box/group_vars/{}:

    1. В строке build_cluster: false оставьте значение по умолчанию.

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

    3. Раскомментируйте строки для платформы виртуализации zVirt и подставьте значения:

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

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

      • type — укажите zvirt

      • label — укажите любое название платформы, например «zVirt»

      • scheme — оставьте значение по умолчанию

      • host — укажите доменное имя Hosted Engine подключаемой платформы, например: he.sample.box

      • port — оставьте значение по умолчанию

      • weight — оставьте значение по умолчанию

      • cluster_id — укажите идентификатор кластера

      • cluster_name — укажите название кластера

      • storage_name — укажите название домена хранения

        Чтобы скопировать идентификатор кластера, на административном портале zVirt перейдите в Ресурсы  Кластеры и нажмите название кластера. На странице с подробной информацией о кластере скопируйте значение поля ID кластера.

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

        Пример заполнения переменных для подключения zVirt в файле config.yml
         build_cluster: false
         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
        
        ####################################
        Продолжение конфигурационного файла

Подробное описание полей файла config.yml — в разделе Подготовка управляющего хоста.

2. Запуск развертывания

  1. Для запуска развертывания модуля zVirt DC Manager с параметрами по умолчанию, в директории dcmanager введите команду утилиты manage-tool.sh:

    ./manage-tool.sh --install
  2. Для запуска процедуры развертывания приложения с определенными пользователем параметрами укажите значения этих параметров в команде:

    ./manage-tool.sh --install --inventory <имя папки inventory> --ssh-key <имя ключа>

    По умолчанию используются имя папки inventory — portal-box и ключ пользователя id_rsa, от которого будет осуществляться подключение к целевому хосту.

    • Если имя папки inventory отличается от portal-box, например stand1:

      ./manage-tool.sh --install --inventory /root/dcmanager/inventories/stand1
    • Если используется ключ пользователя id_ed25519, а не id_rsa:

      ./manage-tool.sh --install --ssh-private-key ~/.ssh/id_ed25519
    • Если отличаются и имя папки inventory и тип ключа пользователя — например stand1 и id_ed25519:

      ./manage-tool.sh --install --inventory /root/dcmanager/inventories/stand1 --ssh-private-key ~/.ssh/id_ed25519
  3. После запуска процедуры развертывания введите пароль для установки:

    Пароль находится в репозитории в файле password-playbook.txt.

    Vault password:

    При вводе пароля его символы не отображаются на экране.

По окончании установки модуля zVirt DC Manager в терминале будет выведена информация о подключении к Vault, оркестратору, а также данные для доступа к порталам zVirt DC Manager:

  • Portal address — URL пользовательского портала zVirt DC Manager, например: https://portal.dcmanager.sample.box

    Чтобы получить URL портала администрирования, замените portal на control в URL пользовательского портала: https://control.dcmanager.sample.box

  • Portal username — логин учетной записи администратора, например: cloud.admin

  • Portal password — пароль учетной записи администратора

Сохраните учётные данные, так как они понадобятся для дальнейшей настройки ~/.kube/dcmanager. В этой директории будет созданный оркестратором конфигурационный файл.

При необходимости вывести информацию повторно, введите команду:

./manage-tool.sh --print-info

Перед тем как зайти на административный или пользовательский портал — установите корневой сертификат.

Отсутствие корневого сертификата приведет к ошибкам в работе портала.