Visão geral do Terraform

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:

  1. 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ê.

  2. 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.

  3. Você executa o comando terraform apply, que realiza as seguintes ações:

    1. Ele provisiona sua infraestrutura com base no plano de execução invocando as APIs isoladas do GDC correspondentes em segundo plano.

    2. 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.

    3. 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:

Recursos do Terraform Fontes de dados
kubernetes_manifest

A seguir