AKS/k8s - pod 상태가 Pending으로 지속되는 경우
pod를 띄웠는데,
C:\temp> kubectl apply -f aks.razor31_sample.yaml
deployment.apps/net-razor31-sample created
service/dotnet-razor31-sample created
일정 시간이 지났는데도 여전히 "Pending" 상태입니다.
c:\temp> kubectl get pod
NAME READY STATUS RESTARTS AGE
net-razor31-sample-6b747bb886-mldk2 0/1 Pending 0 4m50s
당황하지 마시고, describe 옵션을 주면 대부분의 오류 원인을 밝힐 수 있습니다.
C:\temp> kubectl describe pod net-razor31-sample
Name: net-razor31-sample-6b747bb886-mldk2
Namespace: default
Priority: 0
Node: <none>
Labels: app=dotnet-razor31-sample
...[생략]...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 5m20s default-scheduler 0/1 nodes are available: 1 persistentvolumeclaim "my-azure-file" not found.
Warning FailedScheduling 5m18s default-scheduler 0/1 nodes are available: 1 persistentvolumeclaim "my-azure-file" not found.
Normal NotTriggerScaleUp 17s (x31 over 5m18s) cluster-autoscaler pod didn't trigger scale-up: 1 persistentvolumeclaim "my-azure-file" not found
보는 바와 같이, 이번에는 aks.razor31_sample.yaml에 볼륨 연결을 지정했던,
...[생략]...
volumes:
- name: volume
persistentVolumeClaim:
claimName: my-azure-file
...[생략]...
my-azure-file 이름의 PV가 없어서 발생한 것입니다. 이 외에도 k8s에서 발생하는 거의 모든 오류 원인을 "describe" 옵션 하나로 밝혀지는 것이 많습니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]