Начало работы
Разработан собственный Terraform-провайдер для взаимодействия с компонентами платформы виртуализации zVirt начиная с версии 4.2.
-
Повышенная скорость реакции на проблемы и внесения улучшений
Переход на собственное решение означает полный контроль над кодовой базой, что существенно ускоряет процессы устранения дефектов и внесения функциональных изменений. Больше не требуется анализировать устаревший (legacy) код сторонних решений.
-
Интеграция новых возможностей zVirt
Оптимизация переноса функциональных компонентов платформы zVirt непосредственно в собственную интеграцию с Terraform.
-
Оптимизация работы с ресурсами
Новый провайдер унифицирует управление ресурсами виртуальных машин. Вместо прежнего подхода, подразумевавшего раздельное определение отдельных ресурсов (создание самой ВМ, подключение дисков, сетей и запуск), теперь всё реализуется единым ресурсом
zvirt_vm. Данный подход упрощает управление жизненными циклами и повышает прозрачность конфигурации. -
Организация реестра Terraform-провайдеров
Новый провайдер размещается в собственном реестре Terraform, интегрированном в инфраструктуру Orionsoft, что соответствует формату репозиториев Terraform и улучшает доступность и простоту развертывания решения.
Подробная информацию о ресурсах провайдера представлена на вкладке Ресурсы TF.
1. Особенности
-
Миграция ВМ осуществляется через перезапуск ВМ с выбором целевого кластера.
-
Управление миграцией ВМ между хостами не поддерживается.
При использовании провайдера необходимо учитывать совместимость с версией zVirt.
| версия Terraform | версия zVirt |
|---|---|
0.8.3 |
zVirt 4.2-4.4 |
0.8.4 |
zVirt 4.2-4.4 |
1.0.0 |
zVirt 4.5 |
2. Схема
terraform {
required_providers {
zvirt = {
source = "terraform-registry.orionsoft.ru/orionsoft/zvirt"
version = "1.0.0"
}
}
}
provider "zvirt" {
hostname = "zvirt.example.local"
username = "terraform-user@internalsso"
password = "SuperSecretPassword"
tls_insecure = true
}
-
hostname(String) - FQDN Менеджера управления zVirt Engine.Например: zvirt.example.local
-
username(String) - имя пользователя и пространство имён (реалм) в zVirt.Например: admin@zvirt@internalsso
-
password(String,Sensitive) - пароль пользователя в zVirt.
-
tls_insecure(Boolean) - отключает проверку сертификата при подключении к zVirt.
3. Дополнительная подготовка
Для работы с провайдером необходимо использовать учетную запись с ролью SuperUser.
4. Установка и запуск провайдера
| Поддерживаются установка на ОС Linux, OС Windows и macOS. |
-
Создайте файл:
-
для пользователей ОС Linux и macOS .terraformrc в корневой директории пользователя (~).
-
для пользователей ОС Windows terraform.rc в директории /AppData/Roaming
-
-
Содержание файла должно иметь следующий вид:
provider_installation { network_mirror { url = "https://USERNAME:PASSWORD@terraform-registry.orionsoft.ru/" include = ["terraform-registry.orionsoft.ru/orionsoft/zvirt"] } }Значениями USERNAME:PASSWORD выступают учетные данные для аутентификации в Terraform Registry. -
Перейдите в каталог с манифестом и в файле конфигурации (main.tf) укажите версию провайдера в блоке
required_providers. -
Выполните команду
terraform initв тестовом каталоге.