Vista geral do Terraform

O HashiCorp Terraform é uma ferramenta de infraestrutura como código (IaC) que lhe permite aprovisionar e gerir a infraestrutura na nuvem. O Terraform oferece plug-ins denominados fornecedores que lhe permitem interagir com fornecedores de nuvem e outras APIs. Para o Google Distributed Cloud (GDC) isolado, tem de usar o fornecedor do Kubernetes para aprovisionar recursos, uma vez que não existe um fornecedor do GDC isolado específico para o Terraform.

Os recursos do GDC podem ser geridos pelo fornecedor do Kubernetes com a gestão completa do ciclo de vida dos recursos do Kubernetes.

Operação Fornecedor do Terraform
Criar

Fornecedor do Kubernetes
Leitura
Atualizar
Eliminar N/A, use terraform destroy

Como funciona o Terraform

O Terraform tem uma sintaxe declarativa e orientada para a configuração, que pode usar para descrever a infraestrutura que quer aprovisionar no seu projeto do GDC. Depois de criar esta configuração num ou mais ficheiros de configuração do Terraform, pode usar a CLI do Terraform para aplicar esta configuração aos seus recursos do GDC.

Os passos seguintes explicam como funciona o Terraform:

  1. Descreve a infraestrutura que quer aprovisionar num ficheiro de configuração do Terraform. Não precisa de escrever código que descreva como aprovisionar a infraestrutura. O Terraform aprovisiona a infraestrutura por si.

  2. Executa o comando terraform plan, que avalia a sua configuração e gera um plano de execução. Pode rever o plano e fazer alterações conforme necessário.

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

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

    2. Cria um ficheiro de estado do Terraform, que é um ficheiro JSON que mapeia os recursos no ficheiro de configuração para os recursos na infraestrutura do mundo real. O Terraform usa este ficheiro para manter um registo do estado mais recente da sua infraestrutura e para determinar quando criar, atualizar e destruir recursos.

    3. Quando executa terraform apply, o Terraform usa o mapeamento no ficheiro de estado para comparar a infraestrutura existente com o código e fazer atualizações conforme necessário:

      • Se um objeto de recurso estiver definido no ficheiro de configuração, mas não existir no ficheiro de estado, o Terraform cria-o.

      • Se um objeto de recurso existir no ficheiro de estado, mas tiver uma configuração diferente da do ficheiro de configuração, o Terraform atualiza o recurso para corresponder ao ficheiro de configuração.

      • Se um objeto de recurso no ficheiro de estado corresponder ao seu ficheiro de configuração, o Terraform deixa o recurso inalterado.

Recursos do Terraform para o GDC com isolamento de ar

Os recursos são os elementos fundamentais na linguagem Terraform. Cada bloco de recursos descreve um ou mais objetos de infraestrutura.

O GDC air-gapped é criado com base no Kubernetes. Além das APIs Kubernetes principais, como Node, PersistentVolume e Service, também suporta a API CustomResourceDefinition. Ao usar definições de recursos personalizadas, as APIs específicas do GDC são criadas para representar a infraestrutura isolada do GDC.

A tabela seguinte indica os recursos do Terraform disponíveis para o GDC com isolamento de ar:

Recursos do Terraform Origens de dados
kubernetes_manifest

O que se segue?