oc debug와 함께 container is unable to start error 명령이 실패하는 이유는 무엇입니까?

프라이빗 클러스터에서 oc debug 명령을 실행하면 다음 예와 유사한 오류 메시지가 표시됩니다.

oc debug node/<node-name>
Starting pod/1024104-debug ...
To use host binaries, run `chroot /host`

warning: Container container-00 is unable to start due to an error: Back-off pulling image "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7dd7a3a1be7009629c709e6c88a1551d471aba9bf3deb873bc5f4d814675edfe"

oc debug 명령은 사용자가 지정하는 노드의 디버그 팟(pod)을 시작합니다. 디버그 팟(pod)은 quay.io 컨테이너 레지스트리의 공용 컨테이너 이미지를 사용합니다. 공용 인터넷에 대한 액세스 없이 개인용 클러스터에서는 클러스터가 공용 레지스트리에서 디버그 컨테이너 이미지를 가져올 수 없습니다.

이 문제를 해결하려면 ocp-release에서 quay.io 이미지를 가져오고 개인용 이미지 레지스트리에 푸시하십시오. 그런 다음 oc debug 명령을 실행할 때 사용하려는 개인용 컨테이너 이미지를 지정하십시오.

  1. 에서 이미지를 가져옵니다 quay.io 에서 클러스터 버전 및 아키텍처와 일치하는 이미지를 가져옵니다. 예를 들어, 4.7.19 클러스터가 있는 경우 quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64 이미지를 가져오십시오. Red Hat 계정 및 이미지를 가져올 권한이 있어야 함을 참고하십시오.

    docker pull quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64
    
  2. 개인용 컨테이너 레지스트리에 이미지를 태그하고 푸시하십시오.

  3. --image=icr.io 옵션을 사용하여 oc debug 명령을 다시 시도합니다.

    oc debug node/<node-name> --image=icr.io/<namespace>/<image>:<tag>