Cloud Logging

Este documento descreve como o GKE no AWS se integra com o Cloud Logging e mostra-lhe como aceder aos seus registos.

Vista geral

O GKE no AWS suporta o Cloud Logging para cargas de trabalho e para componentes do sistema executados em nós do plano de controlo e do conjunto de nós.

O GKE no AWS inclui um agente de registo baseado no Fluentbit. Nos nós do plano de controlo, o agente de registo é executado como um componente do sistema; nos nós do conjunto de nós, é executado como um Daemonset. Os dados recolhidos pelos agentes de registo podem ser geridos e eliminados como quaisquer outros dados de métricas e registos, conforme descrito na documentação do Cloud Logging.

Que dados são recolhidos

O GKE no AWS regista as seguintes informações:

  • Registos dos componentes do sistema em cada uma das réplicas do plano de controlo.
  • Registos dos serviços do sistema em cada um dos nós do conjunto de nós.
  • Opcionalmente, registos para cargas de trabalho

Ative o registo de cargas de trabalho

Para ativar o registo de cargas de trabalho, tem de criar um novo cluster do Kubernetes, versão 1.22 ou posterior.

Por predefinição, quando cria um cluster, o GKE no AWS ativa o registo do sistema. Para ativar o registo de cargas de trabalho, tem de criar um cluster com a flag --logging. Pode optar por ativar o registo para componentes do sistema, cargas de trabalho ou ambos.

Por exemplo, para ativar o registo do sistema e da carga de trabalho num novo cluster, siga as instruções para criar um cluster, mas inclua a flag --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

Aceda aos seus registos

Existem várias formas de aceder aos registos do GKE no AWS no Cloud Logging:

  • Explorador de registos: pode ver os seus registos diretamente a partir do Explorador de registos usando os filtros de registo para selecionar os recursos do Kubernetes, como registos de clusters, nós, espaços de nomes, pods ou contentores.

  • CLI do Google Cloud: use o comando gcloud logging read para selecionar os registos de cluster, nó, pod e contentor adequados.

Compreender os seus registos

Um registo no Cloud Logging é uma coleção de entradas de registo, e cada entrada de registo aplica-se a um determinado tipo de recurso de registo.

Tipos de recursos

Seguem-se os tipos de recursos específicos do GKE no AWS:

Tipo do recurso Nome a apresentar
k8s_control_plane_component Registos de componentes do plano de controlo
k8s_node Registos do conjunto de nós
k8s_container Registos de contentores de carga de trabalho

Quando o GKE on AWS escreve os registos do seu cluster, cada entrada de registo inclui o tipo de recurso. Compreender onde os registos são apresentados facilita a sua localização quando precisar deles.

Registos do plano de controlo

Os registos do plano de controlo usam o tipo de recurso k8s_control_plane_component. Estes registos incluem registos de componentes do sistema executados nas réplicas do plano de controlo, como o kube-apiserver.

Registos de nós

Os registos de nós pertencem ao tipo de recurso k8s_node. Estes incluem registos de componentes críticos do sistema em execução nos nós de trabalho, como kubelet e containerd.

Registos de apps do sistema

Os registos de apps do sistema pertencem ao tipo de recurso k8s_container. Estes incluem registos de pods instalados nos nós de trabalho pelo GKE no AWS. Especificamente, estão incluídos os contentores executados nos seguintes espaços de nomes:

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

Encontre os seus registos na interface do utilizador do Cloud Logging

Pode ver os seus registos através do Explorador de registos na interface do utilizador do Cloud Logging.

Logs Explorer

Com o criador de consultas, pode criar uma consulta adicionando parâmetros de consulta manualmente. Por exemplo, se quiser explorar registos de cargas de trabalho do sistema, pode começar por selecionar ou pesquisar o tipo de recurso k8s_container e, em seguida, selecionar a localização e o nome do cluster. Em seguida, pode refinar a pesquisa filtrando os nomes dos contentores ou dos pods.

O Explorador de registos oferece uma forma adicional de criar as suas consultas de pesquisa através do explorador de campos de registos. Mostra a contagem de entradas do registo, ordenadas por contagem decrescente, para o campo de registo especificado. A utilização do explorador de campos de registos é particularmente útil para os registos do GKE no AWS, uma vez que oferece uma forma fácil de selecionar os valores do Kubernetes para os seus recursos. Por exemplo, pode selecionar registos para um cluster, um espaço de nomes, um nome de pod e um nome de contentor específicos.

Para mais informações, consulte o artigo Usar o Explorador de registos.

Consultas de exemplo

Esta secção inclui exemplos de consultas que pode fazer no Explorador de registos.

Exemplo 1: obtenha os registos de kube-apiserver nos nós do plano de controlo para um cluster da AWS CLUSTER_NAME:

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

Exemplo 2: obter os registos de kubelet nos nós trabalhadores de um cluster da AWSCLUSTER_NAME:

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

Exemplo 3: obtenha os registos do contentor cilium-agent para um cluster da AWS CLUSTER_NAME:

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

O que se segue?