Criação de um cluster kubernetes utilizando terraform e realizando o deploy do helm desenvolvido no item anterior
- terraform
- aws-cli
- helm
- kubectl
- curl
- Variáveis de ambiente definidas para execução do terraform: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION e opcionalmente AWS_PROFILE.
- Módulo de rede (vpc, subnets, natgateway, elasticIp, etc.)
- Um cluster eks com 1 nodegroup composto de 1 instancia e todas as roles necessárias para o funcionamento do cluster.
$ cd 03_terraform
# Altere o profile no arquivo main.tf
$ terraform init
$ terraform plan
$ terraform apply -auto-approve
Para acessar o cluster é necessário executar o comando que atualiza o seu kubeconfig com as informações do novo cluster
$ aws --profile PROFILE_USADO_NO_MAIN.TF eks --region us-east-1 update-kubeconfig --name eks_template
$ helm upgrade template ./02_helm/template1/ --install --namespace template --create-namespace
$ kubectl port-forward svc/template-template1 8080:80 -n template
$ curl http://localhost:8080 $ curl http://localhost:8080/health
$ helm uninstall template -n template
$ cd 03_terraform
$ terraform destroy -auto-approve
- Esse passo a passo assume que o config e credentials estão configurados corretamente no caminho default (~/.aws/)
- O profile deve ser alterado no arquivo main.tf