HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que te permite aprovisionar y administrar la infraestructura de nube. Terraform proporciona complementos llamados proveedores que te permiten interactuar con proveedores de servicios en la nube y otras APIs. En el caso de Google Distributed Cloud (GDC) aislado, debes usar el proveedor de Kubernetes para aprovisionar recursos, ya que no hay un proveedor específico de GDC aislado para Terraform.
El proveedor de Kubernetes puede administrar los recursos de GDC con la administración del ciclo de vida completo de los recursos de Kubernetes.
Operación | Proveedor de Terraform |
---|---|
Crear | Proveedor de Kubernetes |
Leer | |
Actualizar | |
Borrar | N/A, usa terraform destroy |
Cómo funciona Terraform
Terraform tiene una sintaxis declarativa y orientada a la configuración que puedes usar para describir la infraestructura que deseas aprovisionar en tu proyecto de GDC. Después de crear esta configuración en uno o más archivos de configuración de Terraform, puedes usar la CLI de Terraform para aplicarla a tus recursos de GDC.
En los siguientes pasos, se explica cómo funciona Terraform:
Describe la infraestructura que deseas aprovisionar en un archivo de configuración de Terraform. No es necesario que escribas código que describa cómo aprovisionar la infraestructura. Terraform aprovisiona la infraestructura por ti.
Ejecuta el comando
terraform plan
, que evalúa tu configuración y genera un plan de ejecución. Puedes revisar el plan y realizar cambios según sea necesario.Luego, ejecuta el comando
terraform apply
, que realiza las siguientes acciones:Aprovisiona tu infraestructura según tu plan de ejecución invocando las APIs correspondientes de GDC aisladas en segundo plano.
Crea un archivo de estado de Terraform, que es un archivo JSON que asigna los recursos de tu archivo de configuración a los recursos de la infraestructura del mundo real. Terraform usa este archivo para mantener un registro del estado más reciente de tu infraestructura y determinar cuándo crear, actualizar y destruir recursos.
Cuando ejecutas
terraform apply
, Terraform usa la asignación en el archivo de estado para comparar la infraestructura existente con el código y realizar actualizaciones según sea necesario:Si se define un objeto de recurso en el archivo de configuración, pero no existe en el archivo de estado, Terraform lo crea.
Si existe un objeto de recurso en el archivo de estado, pero tiene una configuración diferente de tu archivo de configuración, Terraform actualiza el recurso para que coincida con tu archivo de configuración.
Si un objeto de recurso en el archivo de estado coincide con tu archivo de configuración, Terraform deja el recurso sin cambios.
Recursos de Terraform para GDC aislado
Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada bloque de recursos describe uno o más objetos de infraestructura.
GDC con aislamiento de aire se basa en Kubernetes. Además de las APIs principales de Kubernetes, como Node
, PersistentVolume
y Service
, también admite la API de CustomResourceDefinition
. Con las definiciones de recursos personalizados, se compilan APIs específicas de GDC para representar la infraestructura aislada de GDC.
En la siguiente tabla, se enumeran los recursos de Terraform disponibles para GDC aislado del aire:
Recursos de Terraform | Fuentes de datos |
---|---|
kubernetes_manifest
|