Abrufen von Kubelet-Protokollen aus Azure Kubernetes Service-Clusterknoten (AKS)

Bei Betrieb eines Azure Kubernetes Service-Cluster (AKS) müssen Sie möglicherweise Protokolle überprüfen, um ein Problem zu beheben. Das Azure-Portal enthält eine integrierte Funktion, mit der Sie Protokolle für Hauptkomponenten und Clustercontainer von AKS anzeigen können. Es kann vorkommen, dass Sie Kubelet-Protokolle zur Problembehandlung aus AKS-Knoten abrufen müssen.

In diesem Artikel erfahren Sie, wie Sie journalctl zum Anzeigen von Kubelet-Protokollen auf einem AKS-Knoten verwenden können. Alternativ können Kunden Kubelet-Protokolle mit dem Syslog-Sammlungsfeature in Azure Monitor – Container Insights sammeln.

Voraussetzungen

In diesem Artikel wird vorausgesetzt, dass Sie über einen AKS-Cluster verfügen. Wenn Sie einen AKS-Cluster benötigen, erstellen Sie einen mithilfe der Azure CLI, von Azure PowerShell oder des Azure-Portals.

Verwenden von kubectl raw

Mit dem folgenden Befehl können Sie alle Knoten-Kubelet-Protokolle schnell anzeigen:

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

Erstellen einer SSH-Verbindung

Stellen Sie zunächst eine SSH-Verbindung mit dem Knoten her, für den Sie Kubelet-Protokolle anzeigen müssen. Führen Sie zum Herstellen dieser Verbindung die Schritte unter Herstellen einer Verbindung mit Azure Kubernetes Service-Clusterknoten (AKS) zur Wartung oder Problembehandlung aus.

Abrufen von Kubelet-Protokollen

Sobald Sie mithilfe von kubectl debug eine Verbindung mit dem Knoten hergestellt haben, führen Sie den folgenden Befehl aus, um die Kubelet-Protokolle abzurufen:

chroot /host
journalctl -u kubelet -o cat

Hinweis

Bei Windows-Knoten befinden sich die Protokolldaten unter C:\k und können mithilfe des Befehls more angezeigt werden:

more C:\k\kubelet.log

Die folgende Beispielausgabe zeigt die Kubelet-Protokolldaten:

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"

Nächste Schritte

Wenn Sie weitere Informationen zur Problembehandlung für die Kubernetes-Hauptknoten benötigen, lesen Sie die Informationen unter Ressourcenprotokolle.