(Iac) Parte 3: Deploy do container nginx usando o Terraform

DevOps from Zero!💻
3 min readDec 9, 2019

--

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:
Terraform providers
  • O Terraform CLI trabalha da seguinte forma:
Terraform CLI

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:

Exemplo de provider e resource

Agora um exemplo com Terraform e Cloud Formation:

Comparação entre as ferramentas
  • Case do artigo 🚀

Vamos iniciar o nosso case. Para isso, é necessário que você tenha o Terraform e o Docker instalados no seu sistema.

  • Veja a instalação do Terraform aqui.
  • Veja a instalação do Docker aqui.

Inicie criando um arquivo de nome main.tf adicionando o seguinte código abaixo:

Arquivo de configuração do Terraform
  • Vamos executar os comados para o deploy do container:

Inicie o Terraform com o seguinte comando:

# terraform init
terraform init

Agora vamos ver o que será feito:

# terraform plan
terraform plan

Feito isso, podemos executar o comando de apply:

# terraform apply
terraform apply

Veja o comando docker ps

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

--

--

DevOps from Zero!💻

SRE/DevOps Engineer| Lifelong learner | Medium Creator | AWS/Azure certified☁️ | Hashicorp Ambassador | Containers | Tech | Community | Coffee