HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que te permite aprovisionar y gestionar la infraestructura en la 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) air-gapped, debes usar el proveedor de Kubernetes para aprovisionar recursos, ya que no hay ningún proveedor específico de GDC air-gapped para Terraform.
Los recursos de GDC se pueden gestionar mediante el proveedor de Kubernetes con la gestión completa del ciclo de vida de los recursos de Kubernetes.
Operación | Proveedor de Terraform |
---|---|
Crear | Proveedor de Kubernetes |
Leer | |
Actualizar | |
Eliminar | 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 quieres aprovisionar en tu proyecto de GDC. Después de crear esta configuración en uno o varios archivos de configuración de Terraform, puedes usar la CLI de Terraform para aplicar esta configuración a tus recursos de GDC.
En los siguientes pasos se explica cómo funciona Terraform:
Describe la infraestructura que quieres 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 hacer los cambios que necesites.Ejecutas el comando
terraform apply
, que realiza las siguientes acciones:Aprovisiona tu infraestructura en función de tu plan de ejecución invocando las APIs aisladas de GDC correspondientes en segundo plano.
Crea un archivo de estado de Terraform, que es un archivo JSON que asigna los recursos del archivo de configuración a los recursos de la infraestructura real. Terraform usa este archivo para mantener un registro del estado más reciente de tu infraestructura y para determinar cuándo crear, actualizar y eliminar recursos.
Cuando ejecutas
terraform apply
, Terraform usa la asignación del archivo de estado para comparar la infraestructura actual con el código y hacer las actualizaciones necesarias: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 un objeto de recurso existe en el archivo de estado, pero tiene una configuración diferente a la de tu archivo de configuración, Terraform actualiza el recurso para que coincida con tu archivo de configuración.
Si un objeto de recurso del archivo de estado coincide con el archivo de configuración, Terraform no lo modifica.
Recursos de Terraform para GDC con air gap
Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada bloque de recursos describe uno o varios objetos de infraestructura.
GDC air-gapped se basa en Kubernetes. Además de las APIs principales de Kubernetes, como Node
, PersistentVolume
y Service
, también admite la API CustomResourceDefinition
. Al usar definiciones de recursos personalizadas, se crean 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 air-gapped:
Recursos de Terraform | Fuentes de datos |
---|---|
kubernetes_manifest
|