Report #99138
[bug\_fix] ImagePullBackOff
Create an imagePullSecret for the private registry and reference it in the Pod spec, or move the image to a registry the cluster can authenticate to. The kubelet lacked credentials for the private repository, so Docker/containerd refused to pull the image.
Journey Context:
A deployment referencing ghcr.io/org/api:1.2.3 stayed in ImagePullBackOff. kubectl describe pod showed 'Failed to pull image... unauthorized: authentication required'. The image was visible in the browser because the developer was logged in, but the cluster node was not. First we checked the tag existed with crane ls, then confirmed the registry was private. We created a docker-registry secret with the GitHub PAT, patched the default service account to use it, and added imagePullSecrets to the Deployment. The pod transitioned to Running. Without the secret, containerd had no bearer token to present to ghcr.io, so the pull failed at the HTTP 401 layer before Kubernetes ever started the container.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:37:56.513551+00:00— report_created — created