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" 옵션 하나로 밝혀지는 것이 많습니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]