(Iac) Parte 3: Deploy do container nginx usando o Terraform
Prosseguindo na nossa trilha de DevOps com as ferramentas de infra-as-code, hoje venho para mostrar de forma bem simples e rápida como podemos lançar um deploy do nginx com o Terraform, usando o provider Docker.
- O Terraform possui três etapas simples 😉
1 — Codar: (Infraestrutura como código) — usando o HCL da HashiCorp com uma extensão de arquivo “.tf”
2 — Planejar: (visualizar alterações antes de aplicar)
3 — Criar: (infraestrutura reproduzível)
- Veja alguns dos providers que são utilizados pelo Terraform:
- O Terraform CLI trabalha da seguinte forma:
Providers: Os provedores Terraform geralmente estão vinculados a um provedor de infraestrutura específico, que pode ser um provedor de infraestrutura como serviço (IaaS) (como AWS, GCP, Microsoft Azure, OpenStack), um provedor de plataforma como serviço (PaaS) (como Heroku) ou um provedor de software como serviço (SaaS) (como Terraform Cloud, DNSimple, CloudFlare).
Resources: Na linguagem de configuração do Terraform: É um bloco que descreve um ou mais objetos de infraestrutura. Os recursos podem ser redes virtuais, instâncias de computação ou componentes de nível superior, como registros DNS.
HCL: Sintaxe de configuração estruturada que serve de base para a linguagem de configuração do Terraform, bem como a camada de configuração para vários outros produtos HashiCorp.
Fonte: Documentação oficial do Terraform.
Veja abaixo um exemplo de provider e resource do Terraform:
Agora um exemplo com Terraform e Cloud Formation:
- Case do artigo 🚀
Vamos iniciar o nosso case. Para isso, é necessário que você tenha o Terraform e o Docker instalados no seu sistema.
Inicie criando um arquivo de nome main.tf adicionando o seguinte código abaixo:
- Vamos executar os comados para o deploy do container:
Inicie o Terraform com o seguinte comando:
# terraform init
Agora vamos ver o que será feito:
# terraform plan
Feito isso, podemos executar o comando de apply:
# terraform apply
Veja o comando docker ps
Agora visite http://localhost:80 no seu navegador para observar a mensagem Welcome to nginx!
É isso aí pessoal, nos próximos artigos irei mostrar um exemplo com AWS S3, não percam! #VAIIII