Cloud Logging

Questo documento descrive l'integrazione di GKE su AWS con Cloud Logging e mostra come accedere ai log.

Panoramica

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

GKE su AWS include un agente di logging basato su Fluentbit. Sui nodi del piano di controllo, l'agente di 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 dato di log, come descritto nella documentazione di Cloud Logging.

Quali dati vengono raccolti

GKE su AWS registra le seguenti informazioni:

  • Log per i componenti di sistema su ciascuna replica del piano di controllo.
  • Log per i servizi di sistema su ciascun nodo del pool di nodi.
  • Facoltativamente, i log per i carichi di lavoro

Abilita il logging del carico di lavoro

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

Per impostazione predefinita, quando crei un cluster GKE su AWS 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 del sistema, per i carichi di lavoro o per entrambi.

Ad esempio, per attivare il logging sia del sistema sia del carico di lavoro in un nuovo cluster, segui le istruzioni per creare un cluster, ma includi il flag --logging nel comando gcloud:

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

oppure per aggiornare un cluster esistente:

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

Accedere ai log

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

  • Esplora log: puoi visualizzare i log direttamente da Esplora log utilizzando i filtri di log 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 per cluster, nodi, pod e contenitori.

Informazioni sui 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 per GKE su AWS:

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

Quando GKE on AWS 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 ti servono.

Log del piano di controllo

I log del piano di controllo utilizzano il tipo di risorsa k8s_control_plane_component. Sono inclusi i log dei componenti di sistema in esecuzione sulle repliche del piano di controllo, ad esempio kube-apiserver.

Log dei nodi

I log dei nodi rientrano nel tipo di risorsa k8s_node. Sono inclusi i log del componente di sistema critico 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. Sono inclusi i log dei pod installati sui nodi worker da GKE su AWS. Nello specifico, 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

Con Query Builder puoi creare una query aggiungendo manualmente parametri di ricerca. Ad esempio, se vuoi esaminare i log per i carichi di lavoro di sistema, puoi iniziare selezionando o cercando il tipo di risorsa k8s_container, quindi selezionando 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 le query di ricerca utilizzando lo strumento di esplorazione dei campi dei log. Mostra il conteggio delle voci di log, ordinate in ordine decrescente, per il campo di log specificato. L'utilizzo dell'esploratore dei campi dei log è particolarmente utile per i log di GKE su AWS perché offre un modo semplice per selezionare i valori Kubernetes per le risorse. Ad esempio, puoi selezionare i log per un cluster, uno spazio dei nomi, un nome pod e un nome contenitore specifici.

Per ulteriori informazioni, consulta Utilizzare 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 AWS CLUSTER_NAME:

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

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

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

Esempio 3: recupera i log del contenitore cilium-agent per un cluster AWS CLUSTER_NAME:

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

Passaggi successivi