Objetivo geral:
Setup completo de um cluster Kubernetes utilizando AWS EKS e Terraform seguindo as melhores práticas e documentações oficias. Demonstração de atualizações de aplicações e demais recursos
Objetivo da parte II:
Configuração de todos os logs do Control Plane e alguns ajustes no CloudWatch Logs.
Avisos importantes
Leitura da parte 1 clicando aqui. A parte 1 é responsável pelo setup inicial do cluster.
A configuração do cluster é exclusiva para laboratório e testes.
Pré requisitos
Todos da Parte 1.
Por padrão o cluster já cria um logs group no CloudWatch com o nome/aws/eks/"_nome-do-cluster_"/cluster
Entendendo os tipos de logs do Control Plane
API server(_api_)
É o componente do ambiente de gerenciamento que expõe a API do Kubernetes.Audit (_audit_)
Os logs fornecem um registro dos usuários, administradores ou componentes individuais do sistema que afetaram o cluster.Authenticator (_authenticator_)
Esses logs representam o componente do ambiente de gerenciamento que o AWS EKS usa para a autenticação de Controle de acesso com base em função (RBAC) do Kubernetes usando credenciais do IAM.Controller manager (_controllerManager_)
O gerenciador do controlador gerencia os principais loops de controle que são enviados com o Kubernetes.Scheduler (_scheduler_)
Os logs do componente Scheduler que gerencia quando e onde executar pods no cluster.
Para mais informações acesse a documentação oficial clicando aqui.
Agora que "os trem" estão mais claros, Let's go to work!
Configurações inicias
Por padrão somente os logs de API Server, Audit e Authenticator do Control Plane são enviados para o CloudWatch. Vamos habilitar os demais e efetuar algumas configurações no CloudWatch Group.
No arquivo main.tf
, vamos adicionar a variável abaixo no modulo EKS.
cluster_enabled_log_types = var.cluster_enabled_log_types
No arquivo variables.tf
, vamos inserir a variável abaixo:
variable "cluster_enabled_log_types" {
description = "A list of the desired control plane logs to enable. For more information, see Amazon EKS Control Plane Logging documentation (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html)"
type = list(string)
default = ["api", "audit", "authenticator","controllerManager","scheduler"]
}
Aplicando as atualizações
Vamos executar o Plan e o Apply para atualizar nosso template com as alterações.
terraform plan && terraform apply -auto-approve
Validações
Através da console de gerenciamento da AWS, procure pelo serviço AWS EKS, localize o cluster e clique no menu Logging.
Ao clicar em qualquer opção de logs é feito um direcionamento para o CloudWatch Logs.
Próximas partes
- AWS EKS - Parte III - Restringindo acesso ao cluster
- AWS EKS - Parte IV - Configurando Add-ons gerenciados (em construção)
- AWS EKS - Parte V - Deploy e atualização de uma app (em construção)
Partes Anteriores
Referências
Top comments (0)