Cloud Logging

Questo documento descrive in che modo GKE su Azure si integra con Cloud Logging e mostra come accedere ai log.

Panoramica

GKE su Azure supporta Cloud Logging per i carichi di lavoro e per i componenti di sistema in esecuzione sui nodi del piano di controllo e del pool di nodi.

GKE su Azure include un agente di logging basato su Fluentbit. Sui nodi del control plane, l'agente Logging viene eseguito come componente di sistema; sui nodi del pool di nodi, viene eseguito come DaemonSet. I dati raccolti dagli agenti di logging possono essere gestiti ed eliminati come qualsiasi altro dato di log e metrica, come descritto nella documentazione di Cloud Logging.

Quali dati vengono raccolti

GKE su Azure registra le seguenti informazioni:

  • Log dei componenti di sistema su ciascuna replica del control plane.
  • Log per i servizi di sistema su ciascuno dei nodi del pool di nodi.
  • (Facoltativo) Log per i workload

Abilita il logging del workload

Per abilitare la registrazione dei workload, devi creare un nuovo cluster Kubernetes, versione 1.22 o successive.

Per impostazione predefinita, quando crei un cluster GKE su Azure, viene attivato il logging di sistema. Per abilitare il logging del workload, devi creare un cluster con il flag --logging. Puoi scegliere di attivare la registrazione per i componenti di sistema, i workload o entrambi.

Ad esempio, per abilitare la registrazione sia del sistema che del carico di lavoro su un nuovo cluster, segui le istruzioni per creare un cluster, ma includi il flag --logging nel comando gcloud:

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

o per aggiornare un cluster esistente:

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

Accedere ai log

Esistono diversi modi per accedere ai log di GKE su Azure in Cloud Logging:

  • Esplora log: puoi visualizzare i log direttamente da Esplora log utilizzando i filtri di logging per selezionare le risorse Kubernetes, ad esempio i log di cluster, nodi, spazi dei nomi, pod o container.

  • Google Cloud CLI: utilizzando il comando gcloud logging read, seleziona i log appropriati di cluster, nodo, pod e container.

Comprendere i log

Un log in Cloud Logging è una raccolta di voci di log e ogni voce di log si applica a un determinato tipo di risorsa di logging.

Tipi di risorse

Questi sono i tipi di risorse specifici di GKE su Azure:

Tipo di risorsa Nome visualizzato
k8s_control_plane_component Log dei componenti del control plane
k8s_node Log del node pool
k8s_container Log dei container dei workload

Quando GKE su Azure scrive i log del cluster, ogni voce di log include il tipo di risorsa. Comprendere dove vengono visualizzati i log semplifica la loro ricerca quando ne hai bisogno.

Log del control plane

I log del control plane utilizzano il tipo di risorsa k8s_control_plane_component. Questi includono i log dei componenti di sistema in esecuzione sulle repliche del control plane, ad esempio kube-apiserver.

Log dei nodi

I log dei nodi rientrano nel tipo di risorsa k8s_node. Sono inclusi i log dei componenti di sistema critici in esecuzione sui nodi worker, ad esempio kubelet e containerd.

Log delle app di sistema

I log delle app di sistema rientrano nel tipo di risorsa k8s_container. Questi includono i log dei pod installati sui nodi worker da GKE su Azure. In particolare, sono inclusi i container in esecuzione nei seguenti spazi dei nomi:

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

Trovare i log nell'interfaccia utente di Cloud Logging

Puoi visualizzare i log utilizzando Esplora log nell'interfaccia utente di Cloud Logging.

Esplora log

Utilizzando Query Builder, puoi creare una query aggiungendo manualmente i parametri di ricerca. Ad esempio, se vuoi esplorare i log per i carichi di lavoro di sistema, puoi iniziare selezionando o cercando il tipo di risorsa k8s_container e poi selezionare la località e il nome del cluster. Puoi quindi perfezionare la ricerca filtrando i nomi dei contenitori o dei pod.

Esplora log offre un modo aggiuntivo per creare query di ricerca utilizzando l'Esploratore dei campi dei log. Mostra il conteggio delle voci di log, ordinate in base al conteggio decrescente, per il campo di log specificato. L'utilizzo di Esplora campi log è particolarmente utile per i log di GKE su Azure perché fornisce un modo semplice per selezionare i valori di Kubernetes per le tue risorse. Ad esempio, puoi selezionare i log per un cluster, uno spazio dei nomi, un nome pod e un nome container specifici.

Per ulteriori informazioni, vedi Utilizzo di Esplora log.

Query di esempio

Questa sezione include query di esempio che puoi eseguire in Esplora log.

Esempio 1: recupera i log di kube-apiserver sui nodi del control plane per un cluster Azure CLUSTER_NAME:

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

Esempio 2: recupera i log di kubelet sui nodi worker per un cluster Azure CLUSTER_NAME:

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

Esempio 3: recupera i log del container cilium-agent per un cluster Azure CLUSTER_NAME:

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

Passaggi successivi