Subindo a Aplicação no Kubernetes na AWS com Terraform
Agora que declaramos nossa aplicação para o Kubernetes, chegou o momento de provisioná-la na AWS e verificar se tudo está correto. Abaixo, seguem os passos para garantir que nossa aplicação seja criada corretamente no Kubernetes, e como verificar se todos os recursos foram gerados conforme esperado.
Passo 1: Acessando a pasta do ambiente de produção
Primeiramente, abra o terminal e entre na pasta do ambiente de produção:
cd env/prod/
Passo 2: Inicializando o Terraform
Como fizemos modificações significativas no código, incluindo a inserção do provider do Kubernetes, precisamos inicializar o Terraform para garantir que todas as dependências e configurações estejam prontas. Isso é feito com o comando:
terraform init
Esse comando irá baixar todos os plugins necessários para que o Terraform interaja com a AWS e o Kubernetes. Após o processo de inicialização, limpe o terminal para deixar o ambiente mais organizado:
clear
Passo 3: Aplicando as alterações com o Terraform
Agora que o Terraform está inicializado, podemos verificar o que será criado ou modificado na nossa infraestrutura. Execute o comando:
terraform apply
O Terraform irá comparar o estado atual da infraestrutura com o que está definido no código e mostrará as ações necessárias (criar, modificar ou destruir recursos). No final, ele mostrará uma saída como esta:
Plan: 1 to add, 0 to change, 0 to destroy
Este é o comportamento esperado, já que estamos apenas adicionando nossa aplicação. Observe também a saída que indica o que será criado, que neste caso será o recurso module.prod.kubernetes_deployment.Django_API.
Passo 4: Confirmando a execução do plano
Ao visualizar o que o Terraform pretende realizar, suba no terminal até encontrar a frase:
Terraform will perform the following actions:
Abaixo dessa frase, você verá o recurso module.prod.kubernetes_deployment.Django_API que será criado, exatamente como planejado. Para continuar com a execução do plano, digite:
yes
Isso fará com que o Terraform crie a infraestrutura necessária para rodar a aplicação no Kubernetes.
Passo 5: Verificando na AWS se a aplicação foi criada
Após o Terraform terminar o processo de criação dos recursos, vamos verificar na AWS se tudo foi criado corretamente. Para isso, abra o Console de Gerenciamento da AWS e siga os passos:
Acesse o Elastic Kubernetes Service (EKS).
Selecione o cluster "producao".
Na página do cluster, você verá os três nós (máquinas virtuais) em execução, conforme esperado. Agora, vá para a aba "Cargas de Trabalho" (Workloads). Lá, você deverá ver a aplicação django-api em execução.
Passo 6: Validando o status da aplicação
Na coluna "Status", você deve ver que as três réplicas da aplicação estão em status "prontas" e nenhuma com falha. O número de réplicas deverá ser igual ao que foi configurado no arquivo Kubernetes.tf (neste caso, replicas = 3), o que indica que tudo está funcionando corretamente.
Passo 7: Acessando a aplicação
Para que os usuários possam acessar a aplicação e realizar requisições, precisaremos configurar um load balancer.