Antes de agregar una configuración de Terraform a una plantilla de Cloud Assembly, configure e integre el repositorio de control de versiones.

  1. Acerca del entorno de tiempo de ejecución de Terraform
  2. Almacenar archivos de configuración de Terraform en un repositorio de control de versiones
  3. Habilitar asignación de zona de nube
  4. Integrar el repositorio con Cloud Assembly

Acerca del entorno de tiempo de ejecución de Terraform

Los diseños que incluyen configuraciones de Terraform requieren acceso a un entorno de tiempo de ejecución de Terraform. El entorno de tiempo de ejecución consta de un clúster de Kubernetes que ejecuta comandos de la CLI de Terraform para realizar las operaciones solicitadas. Además, el tiempo de ejecución recopila registros y devuelve los resultados de los comandos de la CLI de Terraform.

El servicio hospedado de vRealize Automation Cloud utiliza su propio clúster de Kubernetes preconfigurado, que los usuarios no pueden modificar.

Almacenar archivos de configuración de Terraform en un repositorio de control de versiones

Cloud Assembly admite los siguientes repositorios de control de versiones para configuraciones de Terraform.

  • Nube de GitHub
  • Nube de GitLab

En el repositorio de control de versiones, cree un directorio predeterminado con una capa de subdirectorios, cada una con los archivos de configuración de Terraform. Cree un subdirectorio por configuración de Terraform.

  1. Directorio predeterminado
  2. Una sola capa de subdirectorios
  3. Archivos de configuración de Terraform listos para la implementación

    No incluya un archivo de estado de Terraform con los archivos de configuración. Si hay terraform.tfstate, se producen errores durante la implementación.

Estructura del directorio del repositorio

Habilitar asignación de zona de nube

Si espera realizar la implementación en una cuenta de nube, el motor de tiempo de ejecución de Terraform necesita tener las credenciales de la zona de nube.

En la pestaña Aprovisionamiento del proyecto, habilite Permitir asignación de zonas de nube de Terraform.

Asignación de zonas de nube de Terraform habilitada

A pesar de que las credenciales se transmiten de forma segura, para mayor seguridad, debe dejar la opción desactivada si los usuarios del proyecto no necesitan realizar la implementación en una cuenta de nube.

Integrar el repositorio con Cloud Assembly

En Cloud Assembly, vaya a Infraestructura > Conexiones > Integraciones.

Agregue una integración al tipo de oferta de repositorio en el que almacenó las configuraciones de Terraform: GitHub o GitLab.

Al agregar un proyecto a la integración, seleccione el tipo Configuraciones de Terraform e identifique el repositorio y la rama.

Carpeta es el directorio predeterminado de la estructura anterior.

Integración del repositorio de Terraform