Perché il comando oc debug non riesce con un container is unable to start error?

Quando si esegue il comando oc debug su un cluster privato, viene visualizzato un messaggio di errore simile al seguente esempio.

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"

Il comando oc debug avvia un pod di debug sul nodo specificato. Il pod di debug utilizza un'immagine del contenitore pubblico dal registro del contenitore quay.io. Sui cluster privati senza accesso a Internet pubblico, il tuo cluster non può estrarre l'immagine contenitore di debug dal registro pubblico.

Per risolvere questo problema, esegui il pull di un'immagine ocp-release da quay.io e esegui il push al tuo registro delle immagini privato. Quindi, quando esegui il comando oc debug, specifica l'immagine del contenitore privato che vuoi utilizzare.

  1. Estrai un'immagine da quay.io che corrisponde alla tua versione e architettura del cluster. Ad esempio, se hai un cluster 4.7.19, esegui il pull dell'immagine quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64. Nota che devi avere un account Red Hat e le autorizzazioni per eseguire il pull delle immagini.

    docker pull quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64
    
  2. Contrassegna e distribuisci l'immagine al tuo registro del contenitore privato.

  3. Ritentare il comando oc debug con l'opzione --image=icr.io.

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