' describe pod '구문을 사용할 수 있습니다.
OpenShift의 경우 :
oc describe pod <pod-id>
바닐라 Kubernetes의 경우 :
kubectl describe pod <pod-id>
출력의 이벤트를 조사하십시오. 제 경우에는 back-off pull 이미지 coredns / coredns : latest를 보여줍니다 .
이 경우 이미지 coredns / coredns : latest를 인터넷에서 가져올 수 없습니다.
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
5m 5m 1 {default-scheduler } Normal Scheduled Successfully assigned coredns-4224169331-9nhxj to 192.168.122.190
5m 1m 4 {kubelet 192.168.122.190} spec.containers{coredns} Normal Pulling pulling image "coredns/coredns:latest"
4m 26s 4 {kubelet 192.168.122.190} spec.containers{coredns} Warning Failed Failed to pull image "coredns/coredns:latest": Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your internet connection or if you are behind a proxy.
4m 26s 4 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ErrImagePull: "Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your Internet connection or if you are behind a proxy."
4m 2s 7 {kubelet 192.168.122.190} spec.containers{coredns} Normal BackOff Back-off pulling image "coredns/coredns:latest"
4m 2s 7 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ImagePullBackOff: "Back-off pulling image \"coredns/coredns:latest\""
추가 디버깅 단계
- 컴퓨터에서 Docker 이미지를 가져오고 수동으로 태그를 지정하십시오.
- 'kubectl / oc get pods -o wide'를 수행하여 노드를 식별합니다.
- Docker 이미지를 가져올 수없는 노드 (가능한 경우)로 ssh
- 노드가 ping을 수행하여 docker 레지스트리의 DNS를 확인할 수 있는지 확인하십시오.
- 노드에서 Docker 이미지를 수동으로 가져 오십시오.
- 개인 레지스트리를 사용하는 경우 비밀 이 존재하고 비밀이 올바른지 확인하십시오. 암호도 동일한 네임 스페이스에 있어야합니다. 감사합니다 swenzel
- 일부 레지스트리에는 IP 주소 액세스를 제한하는 방화벽이 있습니다. 방화벽이 풀을 차단할 수 있습니다.
- 일부 CI는 임시 Docker 암호를 사용하여 배포를 만듭니다. 따라서 비밀은 며칠 후에 만료됩니다 (제작 실패를 요청합니다 ...).