Установка
1. Подготовка управляющего хоста
|
Все 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>. -
Убедитесь, что установлен Python версии 3.9 или выше и venv.
На ОС Linux venv устанавливается с отдельным пакетом python3-venv.
1.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 -
Скопируйте примеры заполненных конфигурационных файлов из каталога sample:
cp -R inventories/sample inventories/box -
Создайте SSH-ключ и скопируйте его на целевой хост:
-
Создайте SSH-ключ, если он отсутствует:
ssh-keygen -
Скопируйте SSH-ключ на целевой хост:
ssh-copy-id [id пользователя]Команда с примером id пользователя:
ssh-copy-id astra@10.10.10.6Если авторизация по паролю на сервере запрещена, добавьте ключ вручную в authorized_key
-
-
Заполните файл 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); обязательный ключ -
В файле config.yml, расположенном в каталоге inventories/box/group_vars/{}:
-
В строке
build_cluster: falseоставьте значение по умолчанию. -
В строке
platforms:{}удалите фигурные скобки:platforms: -
Раскомментируйте строки для платформы виртуализации zVirt и подставьте значения:
При раскомментировании строк необходимо сохранять изначальные отступы. Несоблюдение отступов нарушает структуру файла, что может приводить к ошибкам установки.
Параметр
typeчувствителен к регистру символов, поэтому важно указать название платформы корректно.-
type— укажитеzvirt -
label— укажите любое название платформы, например «zVirt» -
scheme— оставьте значение по умолчанию -
host— укажите доменное имя Hosted Engine подключаемой платформы, например:he.sample.box -
port— оставьте значение по умолчанию -
username— укажите имя пользователя с правами администратора, по умолчанию —admin@zvirt@internalssoДля инсталляций zVirt без Keycloak по умолчанию —
admin@zvirt@internal. -
password— укажите пароль для доступа к платформе -
weight— оставьте значение по умолчанию -
cluster_id— укажите идентификатор кластера -
cluster_name— укажите название кластера -
storage_name— укажите название домена храненияЧтобы скопировать идентификатор кластера, на административном портале zVirt перейдите в и нажмите название кластера. На странице с подробной информацией о кластере скопируйте значение поля ID кластера.
Чтобы скопировать название домена хранения, на административном портале zVirt перейдите в . Скопируйте имя нужного домена.
Пример config.yml для zVirt
build_cluster: false 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
-
-
Подробное описание полей файла config.yml — в разделе Подготовка управляющего хоста.
2. Запуск развертывания
Docker-контейнер добавляется при загрузке образа deploy-manager.
|
Перед запуском Docker-контейнера необходимо создать папку ~/.kube/dcmanager, так как эта директория монтируется в контейнер. |
На управляющем хосте запустите Docker-контейнер при помощи команды:
docker run -it --network host --rm \
-v /$HOME/portal-box:/apps \ (1)
-v ~/.ssh/id_rsa:/root/.ssh/id_rsa \ (2)
-v ~/.kube/dcmanager:/root/.kube/dcmanager \ (3)
deploy-manager:1.8.1 \ (4)
-i inventories/box/hosts \ (5)
-u $USER \ (6)
portal_box.yml \ (7)
--ask-vault-pass (8)
Параметры команды:
| 1 | -v /$HOME/portal-box:/apps — монтирование директории /$HOME/portal-box с распакованным архивом в директорию /apps Docker-контейнера |
| 2 | -v ~/.ssh/id_rsa:/root/.ssh/id_rsa — монтирование файла с закрытым SSH-ключом в Docker-контейнер |
| 3 | -v ~/.kube/dcmanager:/root/.kube/dcmanager — монтирование файла, в котором будет находиться конфигурационный файл kube для подключения к кластеру |
| 4 | deploy-manager:1.8.1 — имя Docker-образа |
| 5 | -i inventories/box/hosts — путь до файла hosts |
| 6 | -u $USER — пользователь, под учетной записью которого будет осуществляться подключение на удаленный хост |
| 7 | portal_box.yml — файл в директории portal-box |
| 8 | --ask-vault-pass — команда для запроса пароля в интерактивном режиме |
После запуска Docker-контейнера, введите пароль для установки:
Vault password:
|
Пароль находится в репозитории zVirt DC Manager в файле с расширением txt. |
По окончании установки модуля zVirt DC Manager в терминале будет выведена информация о подключении к Vault, оркестратору и пользовательскому порталу DC Manager. Сохраните учётные данные, так как они понадобятся для дальнейшей настройки ~/.kube/dcmanager. В этой директории будет созданный оркестратором конфигурационный файл.
|
Информацию можно вывести повторно, для этого необходимо выполнить плейбук с тегом
|
|
Перед тем как зайти на административный или пользовательский портал — установите корневой сертификат. Отсутствие корневого сертификата приведет к ошибкам в работе портала. |