Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eHashiCorp Terraform, an infrastructure-as-code tool, provisions and manages cloud infrastructure, using providers to interact with cloud providers and other APIs.\u003c/p\u003e\n"],["\u003cp\u003eFor Google Distributed Cloud (GDC) air-gapped, the Kubernetes Provider is used to provision resources because there is no specific GDC air-gapped provider available for Terraform.\u003c/p\u003e\n"],["\u003cp\u003eTerraform uses a declarative syntax where users define the desired infrastructure in configuration files, and Terraform handles the provisioning, using \u003ccode\u003eterraform plan\u003c/code\u003e to generate an execution plan and \u003ccode\u003eterraform apply\u003c/code\u003e to execute it.\u003c/p\u003e\n"],["\u003cp\u003eThe Kubernetes Provider in Terraform manages GDC resources with full lifecycle management of Kubernetes resources, including creating, reading, and updating, with \u003ccode\u003eterraform destroy\u003c/code\u003e handling deletions.\u003c/p\u003e\n"],["\u003cp\u003eTerraform resources, including the \u003ccode\u003ekubernetes_manifest\u003c/code\u003e resource, represent infrastructure objects and are used alongside data sources like \u003ccode\u003ekubernetes_resource\u003c/code\u003e and \u003ccode\u003ekubernetes_resources\u003c/code\u003e for managing GDC air-gapped, which is built on top of Kubernetes and supports \u003ccode\u003eCustomResourceDefinition\u003c/code\u003e API.\u003c/p\u003e\n"]]],[],null,["# Terraform overview\n\nHashiCorp Terraform is an infrastructure-as-code (IaC) tool that lets you\nprovision and manage cloud infrastructure. Terraform provides plugins called\n*providers* that let you interact with cloud providers and other APIs. For\nGoogle Distributed Cloud (GDC) air-gapped, you must use the\n[Kubernetes Provider](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs)\nto provision resources since there is no specific GDC\nair-gapped provider for Terraform.\n\nGDC resources can be managed by the Kubernetes Provider\nwith the full lifecycle management of Kubernetes resources.\n\nHow Terraform works\n-------------------\n\nTerraform has a declarative and configuration-oriented syntax, which you can\nuse to describe the infrastructure that you want to provision in your\nGDC project. After you author this configuration in one or more\nTerraform configuration files, you can use the Terraform CLI to apply this\nconfiguration to your GDC resources.\n\nThe following steps explain how Terraform works:\n\n1. You describe the infrastructure you want to provision in a *Terraform\n configuration file*. You don't need to write code describing how to provision\n the infrastructure. Terraform provisions the infrastructure for you.\n\n2. You run the `terraform plan` command, which evaluates your configuration and\n generates an execution plan. You can review the plan and make changes as\n needed.\n\n3. You run the `terraform apply` command, which performs the following\n actions:\n\n 1. It provisions your infrastructure based on your execution plan by\n invoking the corresponding GDC air-gapped APIs in\n the background.\n\n 2. It creates a *Terraform state file*, which is a JSON file that maps the\n resources in your configuration file to the resources in the real-world\n infrastructure. Terraform uses this file to keep a record of the most\n recent state of your infrastructure, and to determine when to create,\n update, and destroy resources.\n\n 3. When you run `terraform apply`, Terraform uses the mapping in\n the state file to compare the existing infrastructure to the code, and make\n updates as necessary:\n\n - If a resource object is defined in the configuration file, but\n doesn't exist in the state file, Terraform creates it.\n\n - If a resource object exists in the state file, but has a different\n configuration from your configuration file, Terraform updates the\n resource to match your configuration file.\n\n - If a resource object in the state file matches your configuration\n file, Terraform leaves the resource unchanged.\n\nTerraform resources for GDC air-gapped\n--------------------------------------\n\n*Resources* are the fundamental elements in the Terraform language. Each\nresource block describes one or more infrastructure objects.\n\nGDC air-gapped is built on top of Kubernetes. Besides\nthe core Kubernetes APIs like `Node`, `PersistentVolume`, and `Service`, it also\nsupports the `CustomResourceDefinition` API. By using custom resource\ndefinitions, GDC-specific APIs are built for\nrepresenting the GDC air-gapped infrastructure.\n\nThe following table lists the Terraform resources available for\nGDC air-gapped:\n\nWhat's next\n-----------\n\n- [Configure Terraform](/distributed-cloud/hosted/docs/latest/gdch/resources/configure-terraform)\n\n- [Terraform on Google Cloud documentation](/docs/terraform)\n\n- [Google Cloud provider documentation in HashiCorp](https://registry.terraform.io/providers/hashicorp/google/latest/docs)\n\n- [Infrastructure as code for Google Cloud](/docs/terraform/iac-overview)"]]