DEV Community

Rodrigo Fernandes
Rodrigo Fernandes

Posted on • Updated on

AWS EKS - Parte II - Habilitando logs do Control Plane

Image description

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

Image description

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"]
}
Enter fullscreen mode Exit fullscreen mode

Image description

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.

Image description

Próximas partes

Partes Anteriores

Referências

Top comments (0)