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:
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.
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.Executa o comando
terraform apply
, que realiza as seguintes ações:Aprovisiona a sua infraestrutura com base no seu plano de execução invocando as APIs isoladas do GDC correspondentes em segundo plano.
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.
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
|