Skip to content

Tech-Preta/terraform-aws-eks

Folders and files

NameName
Last commit message
Last commit date
Jul 29, 2024
Jul 31, 2024
Jul 29, 2024
Jul 29, 2024
Jul 31, 2024
Jul 31, 2024
Jul 31, 2024
Jul 29, 2024

Repository files navigation

Módulo Terraform para Cluster EKS na AWS

Este projeto Terraform cria um cluster EKS (Elastic Kubernetes Service) na AWS, incluindo toda a infraestrutura necessária e componentes adicionais.

Funcionalidades

  • Cria uma VPC com subnets públicas e privadas.
  • Configura um cluster EKS na VPC criada.
  • Cria um grupo de nós gerenciado para o cluster EKS.
  • Instala add-ons essenciais (CoreDNS, kube-proxy, vpc-cni, aws-ebs-csi-driver).
  • Configura o AWS Load Balancer Controller.
  • Gera e salva o arquivo kubeconfig do cluster.

Pré-requisitos

  • Terraform (versão 0.12 ou superior)
  • AWS CLI configurado com suas credenciais
  • kubectl (opcional, para interagir com o cluster após a criação)

Estrutura do Projeto

  • main.tf: Configuração principal do cluster EKS e VPC
  • variables.tf: Definição de variáveis utilizadas no projeto
  • outputs.tf: Outputs do Terraform após a criação dos recursos
  • providers.tf: Configuração dos providers necessários
  • alb.tf: Configuração do AWS Load Balancer Controller

Como usar

  1. Clone este repositório:
git clone https://github.com/Tech-Preta/terraform-aws-eks.git
  1. Inicialize o Terraform:
terraform init
  1. Revise o plano de execução:
terraform plan
  1. Aplique as mudanças:
terraform apply
  1. Após a conclusão, o arquivo kubeconfig será gerado no diretório do projeto. Use-o para se conectar ao cluster:
export KUBECONFIG=./kubeconfig_<nome-do-cluster>
kubectl get nodes

Customização

Você pode personalizar o projeto modificando as variáveis em variables.tf. Algumas das principais variáveis incluem:

  • region: Região da AWS onde o cluster será criado
  • cluster_name: Nome do cluster EKS
  • cluster_version: Versão do Kubernetes para o cluster
  • vpc_cidr: CIDR block para a VPC
  • instance_types: Tipos de instância EC2 para os nós do cluster

Limpeza

Para destruir todos os recursos criados:

terraform destroy

Notas

  • Este projeto cria recursos na AWS que podem resultar em custos. Certifique-se de entender os custos associados antes de aplicar.
  • O arquivo kubeconfig gerado contém informações sensíveis. Trate-o com cuidado e não o compartilhe publicamente.

Contribuições

Contribuições são bem-vindas! Por favor, abra uma issue ou pull request para sugestões de melhorias ou correções.

Licença

Este projeto está licenciado sob a MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages