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. É possível usar o provedor Terraform para Google Cloud para provisionar e gerenciar Google Cloud recursos, incluindo o Config Sync.
Esta página apresenta o uso do Terraform com o Config Sync, incluindo uma introdução a como o Terraform funciona e alguns recursos para ajudar você a começar a usar o Terraform com Google Cloud. Você também encontrará links para documentos de referência do Terraform para Config Sync, exemplos de código e guias para usar o Terraform para provisionar recursos do Config Sync.
Para obter instruções sobre como começar a usar o Terraform para Google Cloud, consulte Instalar e configurar o Terraform ou o Terraform para Google Cloud início rápido.
Como o Terraform funciona
O Terraform tem uma sintaxe declarativa e orientada pela configuração, que você pode usar para descrever a infraestrutura que você quer provisionar no seu Google Cloud projeto. Depois de criar essa configuração em um ou mais arquivos de configuração do Terraform, use a CLI do Terraform para aplicá-la a esta configuração aos recursos do Config Sync.
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 correspondentes do Config Sync em segundo plano.
- Ele cria um arquivo de estado do Terraform, que é um arquivo JSON que mapeia os recursos no arquivo de configuração aos 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 Config Sync
Recursos são os elementos fundamentais da linguagem do Terraform. Cada no bloco "resource", que descreve um ou mais objetos de infraestrutura, como ou instâncias de computação.
A tabela a seguir lista os recursos do Terraform disponíveis para o Config Sync:
| Serviço | Recursos do Terraform |
|---|---|
| GKEHub |
Guias baseados no Terraform para o Config Sync
A tabela a seguir lista os guias e tutoriais do Terraform para Config Sync:
| Guia | Detalhes |
|---|---|
| Instale o Config Sync | Este guia inclui instruções para configurar o Config Sync com o Terraform. |
| Gerenciar recursos da equipe em toda a frota | Este guia explica como usar o Config Sync e o Terraform para criar dinamicamente recursos com escopo de equipe em uma frota de clusters. |
A seguir
- Exemplos de código do Terraform para o Config Sync
- Terraform em Google Cloud documentação
- Google Cloud Documentação do provedor na HashiCorp
- Infraestrutura como código para Google Cloud