Cloud Logging

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

Vista geral

O GKE on Azure 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 Azure 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 Azure 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 on Azure 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 azure clusters create CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

ou para atualizar um cluster existente:

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

Aceda aos seus registos

Existem várias formas de aceder aos registos do GKE no Azure 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 gcloud: use o comando gcloud logging read para selecionar os registos de cluster, nó, pod e contentor adequados.

Compreender os 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 Azure:

Tipo do recurso Nome a apresentar
k8s_control_plane_component Registos de componentes do plano de controlo
k8s_node Registos do node pool
k8s_container Registos de contentores de carga de trabalho

Quando o GKE no Azure escreve os registos do seu cluster, cada entrada do 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 do componente do sistema crítico 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 Azure. 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 on Azure, 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 do Azure CLUSTER_NAME:

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

Exemplo 2: obter os registos de kubelet nos nós trabalhadores de um cluster do Azure CLUSTER_NAME:

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

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

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

O que se segue?