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. Puedes usar el proveedor de Terraform para Google Cloud aprovisionar y gestionar Google Cloud recursos, incluido Config Sync.
En esta página se explica cómo usar Terraform con Config Sync. También se incluye una introducción al funcionamiento de Terraform y algunos recursos para ayudarte a empezar a usar Terraform con Google Cloud. También encontrarás enlaces a la documentación de referencia de Terraform para Config Sync, ejemplos de código y guías para usar Terraform con el fin de aprovisionar recursos de Config Sync.
Para obtener instrucciones sobre cómo empezar a usar Terraform para Google Cloud, consulta Instalar y configurar Terraform o la guía de inicio rápido de Terraform para Google Cloud .
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 Google Cloud proyecto. 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 Config Sync.
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 de Config Sync 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 Config Sync
Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada bloque de recursos describe uno o varios objetos de infraestructura, como redes virtuales o instancias de computación.
En la siguiente tabla se enumeran los recursos de Terraform disponibles para Config Sync:
Servicio | Recursos de Terraform |
---|---|
GKEHub |
Guías basadas en Terraform para Config Sync
En la siguiente tabla se enumeran las guías prácticas y los tutoriales basados en Terraform para Config Sync:
Guía | Detalles |
---|---|
Instalar Config Sync | En esta guía se incluyen instrucciones para configurar Config Sync con Terraform. |
Gestionar los recursos del equipo en toda la flota | En esta guía se explica cómo usar Config Sync y Terraform para crear dinámicamente recursos específicos de un equipo en una flota de clústeres. |
Siguientes pasos
- Ejemplos de código de Terraform para Config Sync
- Documentación sobre Google Cloud Terraform
- Google Cloud Documentación del proveedor en HashiCorp
- Infraestructura como código para Google Cloud