Questo documento descrive come GKE su AWS si integra con Cloud Logging e mostra come accedere ai log.
Panoramica
GKE su AWS 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 AWS 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 AWS 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 AWS, viene abilitata la registrazione 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 aws clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
o 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 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 AWS:
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 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 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 AWS.
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 AWS 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 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 per 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 container 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
- Panoramica di Cloud Logging
- Utilizzo di Esplora log
- Creazione di query per Cloud Logging
- Creare metriche basate su log