Cloud Logging

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

Panoramica

GKE su Azure supporta Cloud Logging per carichi di lavoro e per 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 piano di controllo, 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 altra metrica e dati di log, 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 piano di controllo.
  • Log per i servizi di sistema su ciascuno dei nodi del pool di nodi.
  • Facoltativamente, log per i carichi di lavoro

Abilita il logging dei carichi di lavoro

Per abilitare il logging dei carichi di lavoro, devi creare un nuovo cluster Kubernetes, versione 1.22 o successiva.

Per impostazione predefinita, quando crei un cluster, GKE su Azure abilita il logging di sistema. Per abilitare il logging dei carichi di lavoro, devi creare un cluster con il flag --logging. Puoi scegliere di abilitare il logging per componenti di sistema, carichi di lavoro o entrambi.

Ad esempio, per abilitare il logging del sistema e 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 aggiornare un cluster esistente:

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

Accedi ai tuoi 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, come i log di cluster, nodo, spazio dei nomi, pod o container.

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

Interpretazione dei 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 log.

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 piano di controllo
k8s_node Log del pool di nodi
k8s_container Log dei container per carichi di lavoro

Quando GKE su Azure scrive i log del cluster, ogni voce di log include il tipo di risorsa. Capire dove vengono visualizzati i log semplifica il reperimento dei log quando ne hai bisogno.

Log del piano di controllo

I log del piano di controllo utilizzano il tipo di risorsa k8s_control_plane_component. Questi includono i log dei componenti di sistema in esecuzione sulle repliche del piano di controllo, come kube-apiserver.

Log dei nodi

I log dei nodi rientrano nel tipo di risorsa k8s_node. Questi includono i log di componenti di sistema critici in esecuzione sui nodi worker, come kubelet e containerd.

Log delle app di sistema

I log delle app di sistema rientrano nel tipo di risorsa k8s_container. 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

Trova 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 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, per poi selezionare la località e il nome del cluster. Puoi quindi perfezionare la ricerca filtrando i nomi dei container o dei pod.

Esplora log offre un modo aggiuntivo per creare le query di ricerca utilizzando l'esplorazione campi Log. Mostra il numero delle voci di log, ordinate in base al numero decrescente, per il campo di log specificato. L'esplorazione dei campi dei log è particolarmente utile per i log di GKE su Azure perché consente di selezionare facilmente i valori Kubernetes per le risorse. Ad esempio, puoi selezionare i log per un cluster specifico, lo spazio dei nomi, il nome del pod e il nome del container.

Per ulteriori informazioni, consulta 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 piano di controllo per un cluster di 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