Projeto de Deploy do Prometheus e Grafana no Cluster EKS com Terraform.
-
Terraform
-
AWS CLI configurado com suas credenciais
-
Bucket S3
Colocar os parametros de backend dentro do arquivo providers.tf para armazenamento do state remoto do Terraform no bucket AWS.
backend "s3" {
bucket = "<SEU_BUCKET>"
key = "<PASTA>/terraform.tfstate"
region = "<REGIAO_DO_BUCKET>"
}
A titulo de organização e manutenção o contexto kubernets é definido na variavel contexto dentro do arquivo terraform.tfvars.
Após preparação das variáveis e configuração do Backend já inicializar nosso projeto terraform, para downloads das dependências do projeto e inicialização do backend execute
terraform init
Uma vez inicializado o backend, podemos rodar o plan para o terraform planejar e preparar o provisionamento da estrutura
terraform plan
Se o plan ocorrer sem erros é provavel que todas as variáveis tenham sido informadas corretamente e o codigo está pronto para ser executado e provisionar a estrutura conforme o que saida do comando plan no terminal. Para provisionar sua estrutura você pode rodar os seguintes comandos:
- Com confirmação
terraform apply
- Sem confirmação
terraform apply --auto-approve
Com apenas poucos comandos foi provisionada a stack completa de observabilidade do prometheus que conta com.
- Prometheus
- Node Exporter
- Alert Manager
- Grafana
- Dashboards
No caso de necessidade de eliminiar a estrutura basta
- Planejar a destruição
terraform plan -destroy
- Executar com confirmação
terraform apply -destroy
Ou
- Executar sem confirmação
terraform apply -destroy --auto-approve
Name | Version |
---|---|
aws | 5.38.0 |
helm | 2.12.1 |
kubernetes | 2.26.0 |
No providers.
Name | Source | Version |
---|---|---|
prometheus-operator | ./modules/prometheus-operator | n/a |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
contexto | Contexto para adicionar o Recurso | string |
n/a | yes |
No outputs.