Azure Kubernetes Service (AKS) クラスター ノードから kubelet ログを取得する

Azure Kubernetes Service (AKS) クラスターを操作する場合は、問題のトラブルシューティングを行うためにログの確認が必要になる場合があります。 Azure portal には、AKS メイン コンポーネントクラスター コンテナーのログを表示できる機能が組み込まれています。 場合によっては、トラブルシューティングの目的で、AKS ノードから kubelet ログを取得しなければならない可能性があります。

この記事では、journalctl を使用して AKS ノード上の kubelet ログを表示する方法を示します。 または、 Azure Monitor の syslog 収集機能 - Container Insights を使用して、kubelet ログを収集することもできます。

開始する前に

この記事は、AKS クラスターがすでに存在していることを前提としています。 AKS クラスターが必要な場合は、Azure CLIAzure PowerShell、または Azure portal を使用して作成します。

kubectl raw の使用

次のコマンドを使用すると、任意のノード kubelet ログをすばやく表示できます。

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

SSH 接続を作成する

最初に、kubelet ログを表示する必要があるノードを使用して SSH 接続を作成する必要があります。 この接続を作成するには、AKS クラスター ノードへの SSH 接続に関するページの手順に従います。

kubelet ログの取得

kubectl debug を使用してノードに接続したら、次のコマンドを実行して、kubelet ログをプルします。

chroot /host
journalctl -u kubelet -o cat

Note

Windows ノードの場合、ログデータは C:\k にあり、more コマンドを使用して表示できます。

more C:\k\kubelet.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"

次のステップ

Kubernetes メインのトラブルシューティングの詳細情報が必要な場合は、AKS での Kubernetes メイン ノード ログの表示に関するページをご覧ください。