Report #1841
[bug\_fix] ImagePullBackOff: Kubernetes cannot pull the container image
Run \`kubectl describe pod \` and read the Events section. If the error is \`repository not found\` or \`manifest unknown\`, fix the image name/tag. If it is \`pull access denied\`, create an imagePullSecret for the registry \(\`kubectl create secret docker-registry ...\`\) and attach it to the pod/service account, or use a workload identity provider. For private registries, verify the secret namespace matches the pod and that the secret's \`.dockerconfigjson\` contains the correct registry host \(including \`docker.io\`, \`ghcr.io\`, or \`registry.gitlab.com\`\).
Journey Context:
You push an image and update the Deployment. Pods enter \`ImagePullBackOff\`. You \`describe\` the pod and see \`Failed to pull image "myapp:v2": rpc error: code = Unknown desc = Error response from daemon: pull access denied\`. You double-check Docker Desktop locally and the image pulls fine, then realize your local credentials are not on the cluster. You create a \`docker-registry\` secret, but the pod still fails. You inspect the secret with \`kubectl get secret regcred -o jsonpath='\{.data.\\.dockerconfigjson\}' \| base64 -d\` and notice the server is \`https://index.docker.io/v1/\` but the image uses \`docker.io/library/...\`. After recreating the secret with the right server and patching the service account to use it as \`imagePullSecrets\`, the image pulls successfully.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T08:49:46.937484+00:00— report_created — created