AKS(Azure Kubernetes Service) 클러스터 노드에서 kubelet 로그 가져오기

AKS(Azure Kubernetes Service) 클러스터를 운영하는 경우 문제를 해결하기 위해 로그를 검토해야 할 수 있습니다. Azure Portal에는 AKS 기본 구성 요소클러스터 컨테이너에 대한 로그를 볼 수 있는 기본 제공 기능이 있습니다. 경우에 따라 문제 해결을 위해 AKS 노드에서 kubelet 로그를 가져와야 할 수 있습니다.

이 문서에서는 journalctl을 사용하여 AKS 노드에서 kubelet 로그를 보는 방법을 보여줍니다. 또는 고객은 Azure Monitor - Container Insights의 syslog 컬렉션 기능을 사용하여 kubelet 로그를 수집할 수 있습니다.

시작하기 전에

이 문서에서는 기존 AKS 클러스터가 있다고 가정합니다. AKS 클러스터가 필요한 경우 Azure CLI, Azure 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

참고 항목

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 주 노드 로그 보기를 참조하세요.