Warum schlägt der Befehl oc debug mit dem Fehler container is unable to start error fehl?

Wenn Sie den Befehl oc debug auf einem privaten Cluster ausführen, erhalten Sie eine Fehlermeldung ähnlich dem folgenden Beispiel.

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"

Der Befehl oc debug beginnt mit einem Debug-Pod auf dem angegebenen Knoten. Der Debug-Pod verwendet ein öffentliches Container-Image aus der Container-Registry quay.io. Bei privaten Clustern ohne Zugang zum öffentlichen Internet kann Ihr Cluster das Debug-Container-Image nicht aus der öffentlichen Registrierung beziehen.

Um dieses Problem zu beheben, rufen Sie ein ocp-release-Image per Pull-Operation aus quay.io ab und übertragen Sie es in Ihre private Image-Registry. Wenn Sie dann den Befehl oc debug ausführen, geben Sie das private Container-Image an, das Sie verwenden möchten.

  1. Ziehen Sie ein Image von quay.io das Ihrer Clusterversion und Architektur entspricht. Wenn Sie beispielsweise einen Cluster mit 4.7.19 haben, rufen Sie das Image quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64 per Pull-Operation ab. Beachten Sie, dass Sie über einen Red-Hat-Account und entsprechende Berechtigungen verfügen müssen, um Images per Pull-Operation abzurufen.

    docker pull quay.io/openshift-release-dev/ocp-release:4.7.19-x86_64
    
  2. Markieren und übertragen Sie das Image in Ihre private Container-Registry.

  3. Wiederholen Sie den Befehl oc debug mit der Option --image=icr.io.

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