Ottenere i log di kubelet dai nodi del cluster del servizio Azure Kubernetes

Quando si usa un cluster del servizio Azure Kubernetes, potrebbe essere necessario esaminare i log per risolvere un problema. Il portale di Azure offre una funzionalità predefinita che consente di visualizzare i log per i componenti principali del servizio Azure Kubernetes e i contenitori del cluster. In alcuni casi, potrebbe essere necessario ottenere i log kubelet dai nodi del servizio Azure Kubernetes per la risoluzione dei problemi.

Questo articolo illustra come usare journalctl per visualizzare i log kubelet in un nodo del servizio Azure Kubernetes. In alternativa, i clienti possono raccogliere i log kubelet usando la funzionalità di raccolta syslog in Monitoraggio di Azure - Informazioni dettagliate sui contenitori.

Operazioni preliminari

Questo articolo presuppone che sia già presente un cluster nel servizio Azure Kubernetes. Se è necessario un cluster del servizio Azure Kubernetes, crearne uno usando l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure.

Uso di kubectl raw

È possibile visualizzare rapidamente tutti i log kubelet del nodo usando il comando seguente:

kubectl get --raw "/api/v1/nodes/nodename/proxy/logs/messages"|grep kubelet

Creare una connessione SSH

Prima di tutto, è necessario creare una connessione SSH con il nodo per cui è necessario visualizzare i log kubelet. Per creare questa connessione, seguire la procedura descritta in SSH nei nodi del cluster del servizio Azure Kubernetes.

Ottenere i log di kubelet

Dopo aver eseguito la connessione al nodo usando kubectl debug, eseguire il comando seguente per eseguire il pull dei log di kubelet :

chroot /host
journalctl -u kubelet -o cat

Nota

Per i nodi di Windows, i dati di log si trovano in C:\k e possono essere visualizzati usando il comando più :

more C:\k\kubelet.log

L'output di esempio seguente mostra i dati di log kubelet:

I0508 12:26:17.905042    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:26:27.943494    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:26:28.920125    8672 server.go:796] GET /stats/summary: (10.370874ms) 200 [[Ruby] 10.244.0.2:52292]
I0508 12:26:37.964650    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:26:47.996449    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:26:58.019746    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:05.107680    8672 server.go:796] GET /stats/summary/: (24.853838ms) 200 [[Go-http-client/1.1] 10.244.0.3:44660]
I0508 12:27:08.041736    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:18.068505    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:28.094889    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:38.121346    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:44.015205    8672 server.go:796] GET /stats/summary: (30.236824ms) 200 [[Ruby] 10.244.0.2:52588]
I0508 12:27:48.145640    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:27:58.178534    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:05.040375    8672 server.go:796] GET /stats/summary/: (27.78503ms) 200 [[Go-http-client/1.1] 10.244.0.3:44660]
I0508 12:28:08.214158    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:18.242160    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:28.274408    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:38.296074    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:48.321952    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"
I0508 12:28:58.344656    8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-11482510-0"

Passaggi successivi

Se sono necessarie altre informazioni sulla risoluzione dei problemi per il nodo principale di Kubernetes, vedere Visualizzare i log dei nodi principali di Kubernetes nel servizio Azure Kubernetes.