為何 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 容器登錄中的公用容器映像檔。 在無法存取公用網際網路的專用叢集上,您的叢集無法從公用登錄取回除錯容器映像檔。
若要解決此問題,請從 quay.io 取回 ocp-release 映像檔,並將它推送至專用映像檔登錄。 然後,當您執行 oc debug 指令時,請指定您要使用的專用容器映像檔。
-
從符合叢集版本及架構的 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 -
請使用
--image=icr.io選項重試oc debug指令。oc debug node/<node-name> --image=icr.io/<namespace>/<image>:<tag>