Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O HashiCorp Terraform é uma ferramenta de infraestrutura como código (IaC, na sigla em inglês) que permite provisionar e gerenciar infraestrutura em nuvem. O Terraform fornece plug-ins chamados
provedores, que permitem interagir com provedores de nuvem e outras
APIs. Para a
Google Distributed Cloud (GDC) isolada por ar, use o
provedor do Kubernetes
para provisionar recursos, já que não há um provedor específico da GDC
isolada por ar para o Terraform.
Os recursos do GDC podem ser gerenciados pelo provedor do Kubernetes
com o gerenciamento completo do ciclo de vida dos recursos do Kubernetes.
Operação
Provedor do Terraform
Criar
Provedor do Kubernetes
Ler
Atualizar
Excluir
N/A, use terraform destroy
Como o Terraform funciona
O Terraform tem uma sintaxe declarativa e orientada pela configuração, que pode ser usada para descrever a infraestrutura que você quer provisionar no projeto do GDC. Depois de criar essa configuração em um ou mais arquivos de configuração do Terraform, use a CLI do Terraform para aplicá-la aos recursos do GDC.
As etapas a seguir explicam como o Terraform funciona:
Você descreve a infraestrutura que quer provisionar em um arquivo de configuração do Terraform. Não é preciso escrever código descrevendo como provisionar
a infraestrutura. O Terraform provisiona a infraestrutura para você.
Você executa o comando terraform plan, que avalia sua configuração e gera um plano de execução. É possível analisar o plano e fazer alterações conforme necessário.
Você executa o comando terraform apply, que realiza as seguintes ações:
Ele provisiona sua infraestrutura com base no plano de execução
invocando as APIs isoladas do GDC correspondentes em
segundo plano.
Ele cria um arquivo de estado do Terraform, que é um arquivo JSON que mapeia os
recursos no arquivo de configuração para os recursos na infraestrutura
do mundo real. O Terraform usa esse arquivo para manter um registro do estado mais
recente da sua infraestrutura e determinar quando criar,
atualizar e destruir recursos.
Ao executar terraform apply, o Terraform usa o mapeamento no
arquivo de estado para comparar a infraestrutura atual com o código e fazer
atualizações conforme necessário:
Se um objeto de recurso for definido no arquivo de configuração, mas
não existir no arquivo de estado, o Terraform o criará.
Se há um objeto de recurso no arquivo de estado, mas tem uma configuração
diferente do arquivo de configuração, o Terraform atualiza o
recurso para corresponder ao arquivo de configuração.
Se um objeto de recurso no arquivo de estado corresponder ao seu arquivo de configuração, o Terraform deixará o recurso inalterado.
Recursos do Terraform para o GDC com isolamento físico
Recursos são os elementos fundamentais da linguagem do Terraform. Cada
bloco de recurso descreve um ou mais objetos de infraestrutura.
O GDC air-gapped é criado com base no Kubernetes. Além das APIs principais do Kubernetes, como Node, PersistentVolume e Service, ele também oferece suporte à API CustomResourceDefinition. Ao usar definições de recursos personalizados, as APIs específicas do GDC são criadas para representar a infraestrutura isolada do GDC.
A tabela a seguir lista os recursos do Terraform disponíveis para
GDC air-gapped:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)"]]