Projeto Hackaton
Este repositório contém o código Terraform necessário para provisionar a infraestrutura na AWS e automatizar o deploy contínuo (CD) da nossa aplicação do Hackaton da FIAP - Turma 4SOAT.
Este projeto faz parte do desafio hackaton do curso de pós-graduação em Arquitetura de Software oferecido pela FIAP. Nosso objetivo é demonstrar a utilização de práticas modernas de infraestrutura como código (IaC) e integração contínua/entrega contínua (CI/CD) para implantar e gerenciar aplicativos em um ambiente de Kubernetes na AWS. Em resumo o objetivo central é demonstrar como a integração dessas práticas pode melhorar o ciclo de vida dos aplicativos, abrangendo desde o desenvolvimento até a produção, e promover um fluxo de trabalho ágil e eficiente através da aplicação de metodologias e ferramentas modernas para a construção de sistemas robustos, escaláveis e automatizados.
src/: Este diretório contém todos os arquivos Terraform necessários para provisionar a infraestrutura na AWS.
k8s/: Aqui você encontrará os arquivos de manifesto Kubernetes necessários para implantar nossa aplicação nos clusters provisionados.
Como executar o terraform local?
O procedimento para executar o Terraform local é simples e leva poucos passos:
-
Clone o repositório: https://github.com/g12-4soat/techmedicos-iac
-
Abra a pasta via linha de comando no diretório escolhido no passo 1. Ex.: c:> cd “c:/techmedicos-iac”
Da raiz do repositório, entre no diretório ./src (onde se encontram todos os scripts Terraform), e execute os seguintes comandos no terminal:
c:\techmedicos-iac/src/terraform> terraform init
c:\techmedicos-iac/src/terraform> terraform validate
c:\techmedicos-iac/src/terraform> terraform plan
c:\techmedicos-iac> terraform apply
Como configurar os pods no cluster AWS?
Certifique-se de ter o AWS CLI instalado e configurado em seu sistema. Você pode baixá-lo e instalá-lo seguindo as instruções fornecidas em AWS CLI Installation.
Após a instalação, você precisa configurar o AWS CLI com suas credenciais. Isso pode ser feito executando o comando aws configure no seu terminal e fornecendo as credenciais da AWS quando solicitado. Certifique-se de configurar o AWS CLI com as credenciais que têm permissões para acessar o cluster EKS.
O kubectl é uma ferramenta de linha de comando usada para interagir com clusters Kubernetes. Você precisa configurá-lo para acessar o cluster EKS. Isso pode ser feito executando o comando aws eks update-kubeconfig com o nome do seu cluster e a região onde ele está localizado. Por exemplo: aws eks update-kubeconfig --name <NOME_DO_CLUSTER_EKS> --region <REGIÃO>
Após configurar o kubectl, você pode verificar se está conectado ao cluster corretamente executando um comando como kubectl get nodes. Isso deve retornar uma lista dos nós (nodes) no seu cluster EKS.
Da raiz do repositório, entre no diretório ./k8s (onde se encontram todos os manifestos .yaml para execução no kubernetes), dê um duplo clique no arquivo "apply-all.sh" ou execute o seguinte comando no terminal:
PS c:\tech-medicos\k8s> sh apply-all.sh
$ exec apply-all.sh
Pipeline | Status |
---|---|
Deploy AWS Infrastructure | |
Apply K8s Deployments |