Начало работы
Terraform-провайдера zVirt используется для взаимодействия с компонентами платформы виртуализации zVirt начиная с версии 4.3.
Подробная информацию о ресурсах провайдера представлена на вкладке Ресурсы TF.
Рекомендуется использовать версию Terraform не ниже 1.5.
1. Особенности
-
Опции инициализации не имеют реализованных средств глубокой валидации.
-
Параметр
stateотрабатывается всеми ресурсами индивидуально. Обилие изменений, требующих перезагрузки, способно привести к многократному перезапуску виртуальной машины. -
Миграция ВМ осуществляется через перезапуск ВМ с выбором целевого кластера.
-
Механизмы инициализации срабатывают только для одного сетевого интерфейса. Интерфейс определяется по имени внутри гостевой ОС и должен быть известен заранее.
-
Получение IP-адреса реализовано через источник данных(data source) ovirt_wait_for_ip и может занимать значительное время. В случаи использования одного сетевого интерфейса рекомендуется использовать механизм инициализации(cloud-init).
2. Схема
terraform {
required_version = ">= 1.5.0"
required_providers {
ovirt = {
source = "ovirt/ovirt"
version = ">= 2.1.5"
}
}
}
provider "ovirt" {
url = "${var.zvirt_url}/api"
username = var.zvirt_username
password = var.zvirt_password
tls_insecure = true
}
-
url(String) - URL-адрес для подключения к API.Например: https://example.com/ovirt-engine/api/
-
username(String) - имя пользователя и пространство имён (реалм) в zVirt.Например: admin@zvirt@internalsso
-
password(String,Sensitive) - пароль пользователя в zVirt. -
tls_insecure(Boolean) - отключает проверку сертификата при подключении к zVirt.
|
Дополнительные параметры (или аргументы):
Параметры tls_ca_bundle, tls_ca_dirs, tls_ca_files взаимозаменяемы.
|
-
tls_ca_bundle(String) - активирует проверку сертификата Engine по предоставленным сертификатам CA. Передаваемая цепочка сертификатов должна быть в формате PEM.Например:
tls_ca_bundle = var.ovirt_ca -
tls_ca_dirs(List of String) - активирует проверку сертификата Engine на соответствие сертификатам CA, предоставленным в указанных каталогах. Каталог должен содержать только файлы с сертификатами в формате PEM.Например:
tls_ca_dirs = ["/etc/pki/"] -
tls_ca_files(List of String) - активирует проверку сертификата Engine на соответствие сертификатам CA, предоставленным в файлах, указанных в этом параметре. Файлы должны содержать сертификаты в формате PEM.Например:
tls_ca_files = ["/etc/pki/root_ca.pem", "/etc/pki/intermediate_ca.pem"]
3. Дополнительная подготовка
Для работы с провайдером необходимо использовать учетную запись admin@zvirt.
4. Установка и запуск Linux
| Поддерживаются актуальные дистрибутивы семейства RedHat и Ubuntu\ Debian и аналоги. |
-
Скачайте дистрибутив Terraform и установите его согласно инструкции для используемой ОС.
-
В домашней директории пользователя, который будет использовать Terraform, создайте следующий каталог и все промежуточные подкаталоги:
-
~/.terraform.d/plugins/registry.terraform.io/ovirt/ovirt/2.1.5/linux_amd64/
-
-
Скопируйте полученный бинарный файл провайдера в созданный каталог (linux_amd64) под именем terraform-provider-ovirt_2.1.5
-
Создайте каталог для проверки провайдера. В нем создайте Terraform-манифест следующего содержания:
terraform { required_version = ">= 1.5.0" required_providers { ovirt = { source = "ovirt/ovirt" version = ">= 2.1.5" } } } -
Выполните команду
terraform initв тестовом каталоге. Игнорируйте сообщения о неподписанном пакете.