Geração de registros do Cloud

Neste documento, descrevemos como o GKE na AWS se integra ao Cloud Logging e mostra como acessar seus registros.

Visão geral

O GKE na AWS oferece suporte ao Cloud Logging para cargas de trabalho e para componentes do sistema em execução nos nós do plano de controle e do pool de nós.

O GKE na AWS inclui um agente de geração de registros baseado em Fluentbit. Nos nós do plano de controle, o agente de geração de registros é executado como um componente do sistema. Nos nós do pool de nós, ele é executado como um Daemonset. Os dados coletados pelos agentes podem ser gerenciados e excluídos como qualquer outra métrica e dados de registro, conforme descrito na documentação do Cloud Logging.

Quais dados são coletados

O GKE na AWS registra as seguintes informações:

  • Registros de componentes do sistema em cada réplica do plano de controle.
  • Registros de serviços do sistema em cada um dos nós do pool de nós
  • Opcionalmente, registros para cargas de trabalho

Ativar a geração de registros de carga de trabalho

Para ativar a geração de registros de cargas de trabalho, é preciso criar um novo cluster do Kubernetes, versão 1.22 ou mais recente.

Por padrão, quando você cria um cluster, o GKE na AWS ativa a geração de registros do sistema. Para ativar a geração de registros de carga de trabalho, crie um cluster com a flag --logging. É possível ativar a geração de registros para componentes do sistema, cargas de trabalho ou ambos.

Por exemplo, para ativar a geração de registros do sistema e de cargas de trabalho em um novo cluster, siga as instruções para criar um cluster, mas inclua a sinalização --logging no comando gcloud:

gcloud container aws clusters create CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

ou para atualizar um cluster existente:

gcloud container aws clusters update CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

Acessar os registros

Há várias maneiras de acessar os registros do GKE na AWS no Cloud Logging:

  • Explorador de registros: é possível ver seus registros diretamente do Explorador de registros usando os filtros de geração de registros para selecionar os recursos do Kubernetes, como cluster, nó, namespace, pod ou registros de contêiner.

  • Google Cloud CLI: use o comando gcloud logging read e selecione os registros de cluster, nó, pod e contêiner adequados.

Como entender seus registros

Um registro no Cloud Logging é um conjunto de entradas de registro e cada entrada de registro se aplica a um determinado tipo de recurso de geração de registros.

Tipos de recurso

Estes são os tipos de recursos específicos do GKE na AWS:

Tipo de recurso Nome de exibição
k8s_control_plane_component Registros dos componentes do plano de controle
k8s_node Registros do pool de nós
k8s_container Registros de contêiner de carga de trabalho

Quando o GKE na AWS grava os registros do cluster, cada entrada de registro inclui o tipo de recurso. Saber onde os registros são exibidos facilita a localização deles quando necessário.

Registros do plano de controle

Os registros do plano de controle usam o tipo de recurso k8s_control_plane_component. Eles incluem registros de componentes do sistema em execução nas réplicas do plano de controle, como kube-apiserver.

Registros do nó

Os registros de nó se enquadram no tipo de recurso k8s_node. Eles incluem registros de componentes críticos do sistema em execução nos nós de trabalho, como kubelet e containerd.

Registros de apps do sistema

Os registros de apps do sistema se enquadram no tipo de recurso k8s_container. Isso inclui registros de pods instalados nos nós de trabalho pelo GKE na AWS. Especificamente, contêineres que estão sendo executados nos seguintes namespaces estão incluídos:

  • kube-system
  • gke-connect
  • gke-system
  • gmp-system
  • asm-user-auth
  • cnrm-system
  • config-management-system
  • gatekeeper-system
  • gmp-public
  • istio-system
  • knative-serving

Encontrar seus registros na interface do usuário do Cloud Logging

Veja seus registros usando o Explorador de registros na interface do usuário do Cloud Logging.

Explorador de registros

Usando o Query Builder, você pode criar uma consulta adicionando parâmetros de consulta manualmente. Por exemplo, se você quiser explorar os registros das cargas de trabalho do sistema, comece selecionando ou procurando o tipo de recurso k8s_container e, em seguida, selecione o local e o nome do cluster. Em seguida, refine a pesquisa filtrando os nomes do contêiner ou do pod.

O Explorador de registros oferece uma outra maneira de criar suas consultas de pesquisa usando o Explorador de campo de registros. Ela mostra a contagem de entradas de registro, classificadas por contagem de diminuição, para o campo de registro fornecido. Usar o Explorador de campo de registros é especialmente útil para os registros do GKE na AWS, porque fornece uma maneira fácil de selecionar os valores do Kubernetes para seus recursos. Por exemplo, é possível selecionar registros para um cluster específico, namespace, nome do pod e nome do contêiner.

Para mais informações, consulte Como usar o Explorador de registros.

Amostras de consultas

Nesta seção, incluímos exemplos de consultas que podem ser feitas no Explorador de registros.

Exemplo 1: receber os registros de kube-apiserver nos nós do plano de controle de um cluster do AWS CLUSTER_NAME:

resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"

Exemplo 2: receber os registros de kubelet nos nós de trabalho de um cluster do AWS CLUSTER_NAME:

resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"

Exemplo 3: acessar os registros do contêiner cilium-agent de um cluster CLUSTER_NAME do AWS:

resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"

A seguir