AKS(Azure Kubernetes Service) 클러스터의 문제를 해결하려면 로그를 검토해야 할 수 있습니다. Azure Portal의 도구를 사용하여 AKS 기본 구성 요소 및 클러스터 컨테이너에 대한 로그를 볼 수 있습니다. 경우에 따라 문제를 해결하는 데 도움이 되도록 AKS 노드에서 kubelet 로그를 가져와야 할 수 있습니다.
이 문서에서는 AKS 노드에서 kubelet 로그를 보는 데 사용하는 journalctl
방법을 보여 줍니다.
또는 Azure Monitor의 Container Insights에서 syslog 컬렉션 기능을 사용하여 kubelet 로그를 수집할 수 있습니다.
시작하기 전 주의 사항:
이 문서에서는 기존 AKS 클러스터가 있다고 가정합니다. AKS 클러스터가 필요한 경우 Azure CLI, Azure PowerShell 또는 Azure Portal을 사용하여 클러스터를 만듭니다.
AKS 클러스터에 연결
AKS 클러스터와 상호 작용하려면 먼저 Azure CLI를 사용하여 클러스터 자격 증명을 가져옵니다.
export RESOURCE_GROUP_NAME="<ResourceGroupName>"
export AKS_CLUSTER_NAME="<AKSClusterName>"
az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $AKS_CLUSTER_NAME
이 명령은 AKS 클러스터에 대한 자격 증명을 사용하도록 kubectl을 구성합니다.
kubectl raw 명령 사용
다음 명령을 사용하여 노드의 kubelet 로그를 빠르게 볼 수 있습니다.
export NODE_NAME="aks-agentpool-xxxxxxx-0"
kubectl get --raw "/api/v1/nodes/$NODE_NAME/proxy/logs/messages" | grep kubelet
결과:
I0508 12:26:17.905042 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:26:27.943494 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:26:28.920125 8672 server.go:796] GET /stats/summary: (10.370874ms) 200 [[Ruby] 10.244.0.x:52492]
I0508 12:26:37.964650 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
...
SSH 연결 만들기
kubelet 로그를 보는 데 필요한 노드를 사용하여 SSH(Secure Shell Protocol) 연결을 만들어야 합니다. 이 연결을 만들려면 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-xxxxxxx-0"
I0508 12:26:27.943494 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:26:28.920125 8672 server.go:796] GET /stats/summary: (10.370874ms) 200 [[Ruby] 10.244.0.x:52292]
I0508 12:26:37.964650 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:26:47.996449 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:26:58.019746 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:05.107680 8672 server.go:796] GET /stats/summary/: (24.853838ms) 200 [[Go-http-client/1.1] 10.244.0.x:44660]
I0508 12:27:08.041736 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:18.068505 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:28.094889 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:38.121346 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:44.015205 8672 server.go:796] GET /stats/summary: (30.236824ms) 200 [[Ruby] 10.244.0.x:52588]
I0508 12:27:48.145640 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:27:58.178534 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:05.040375 8672 server.go:796] GET /stats/summary/: (27.78503ms) 200 [[Go-http-client/1.1] 10.244.0.x:44660]
I0508 12:28:08.214158 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:18.242160 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:28.274408 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:38.296074 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:48.321952 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
I0508 12:28:58.344656 8672 kubelet_node_status.go:497] Using Node Hostname from cloudprovider: "aks-agentpool-xxxxxxx-0"
관련 콘텐츠
Azure Kubernetes Service