你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在操作 Azure Kubernetes 服务 (AKS) 群集时,可能需要查看日志来排查问题。 Azure 门户有一项内置功能,可用于查看 AKS 主要组件和群集容器的日志。 有时,可能需要从 AKS 节点获取 kubelet 日志来排除故障。
本文介绍如何使用 journalctl
查看 AKS 节点的 kubelet 日志。
或者,客户可以使用 Azure Monitor - 容器见解中的 syslog 收集功能来收集 kubelet 日志。
开始之前
本文假设你有现有 AKS 群集。 如果需要 AKS 群集,请使用 Azure CLI、Azure PowerShell 或 Azure 门户创建一个。
使用 kubectl raw
你可以使用以下命令快速查看任何节点 kubelet 日志:
kubectl get --raw "/api/v1/nodes/nodename/proxy/logs/messages"|grep kubelet
创建 SSH 连接
首先,要与需要查看其 kubelet 日志的节点建立 SSH 连接。 若要创建此连接,请按照通过 SSH 登录到 AKS 群集节点中的步骤操作。
获取 kubelet 日志
使用 kubectl debug
连接到节点后,运行以下命令拉取 kubelet 日志:
chroot /host
journalctl -u kubelet -o cat
注意
对于 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 主节点日志。