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

Начало работы

Разработан собственный Terraform-провайдер для взаимодействия с компонентами платформы виртуализации zVirt начиная с версии 4.2.

Преимущества перехода Terraform-провайдер zVirt:
  1. Повышенная скорость реакции на проблемы и внесения улучшений

    Переход на собственное решение означает полный контроль над кодовой базой, что существенно ускоряет процессы устранения дефектов и внесения функциональных изменений. Больше не требуется анализировать устаревший (legacy) код сторонних решений.

  2. Интеграция новых возможностей zVirt

    Оптимизация переноса функциональных компонентов платформы zVirt непосредственно в собственную интеграцию с Terraform.

  3. Оптимизация работы с ресурсами

    Новый провайдер унифицирует управление ресурсами виртуальных машин. Вместо прежнего подхода, подразумевавшего раздельное определение отдельных ресурсов (создание самой ВМ, подключение дисков, сетей и запуск), теперь всё реализуется единым ресурсом zvirt_vm. Данный подход упрощает управление жизненными циклами и повышает прозрачность конфигурации.

  4. Организация реестра Terraform-провайдеров

    Новый провайдер размещается в собственном реестре Terraform, интегрированном в инфраструктуру Orionsoft, что соответствует формату репозиториев Terraform и улучшает доступность и простоту развертывания решения.

Подробная информацию о ресурсах провайдера представлена на вкладке Ресурсы TF.

1. Особенности

  • Миграция ВМ осуществляется через перезапуск ВМ с выбором целевого кластера.

  • Управление миграцией ВМ между хостами не поддерживается.

При использовании провайдера необходимо учитывать совместимость с версией zVirt.

Таблица 1. Совместимость провайдера Terraform и 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
}
Обязательные параметры (или аргументы):
  1. hostname (String) - FQDN Менеджера управления zVirt Engine.

    Например: zvirt.example.local

  2. username(String) - имя пользователя и пространство имён (реалм) в zVirt.

    Например: admin@zvirt@internalsso

  3. password(String,Sensitive) - пароль пользователя в zVirt.

Дополнительные параметры (или аргументы):
  1. tls_insecure (Boolean) - отключает проверку сертификата при подключении к zVirt.

3. Дополнительная подготовка

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

4. Установка и запуск провайдера

Поддерживаются установка на ОС Linux, OС Windows и macOS.
Порядок действий
  1. Создайте файл:

    1. для пользователей ОС Linux и macOS .terraformrc в корневой директории пользователя (~).

    2. для пользователей ОС Windows terraform.rc в директории /AppData/Roaming

  2. Содержание файла должно иметь следующий вид:

    provider_installation {
      network_mirror {
        url     = "https://USERNAME:PASSWORD@terraform-registry.orionsoft.ru/"
        include = ["terraform-registry.orionsoft.ru/orionsoft/zvirt"]
      }
    }
    Значениями USERNAME:PASSWORD выступают учетные данные для аутентификации в Terraform Registry.
  3. Перейдите в каталог с манифестом и в файле конфигурации (main.tf) укажите версию провайдера в блоке required_providers.

  4. Выполните команду terraform init в тестовом каталоге.