Report #633
[bug\_fix] ImagePullBackOff from private registry
Create a registry credential secret: \`kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password=\`. Attach it to the Pod or the default ServiceAccount via \`imagePullSecrets\`. For managed clouds, prefer workload identity \(IRSA, GKE Workload Identity, AKS workload identity\) or node IAM roles instead of long-lived pull secrets. Verify the credential can pull the image with \`crane auth\` or \`docker login\` followed by \`docker pull\`.
Journey Context:
You migrate an image to a private ECR repository. Pods go into ImagePullBackOff and \`kubectl describe\` shows \`pull access denied for 123456789012.dkr.ecr.us-east-1.amazonaws.com/app\`. The node lacks ECR pull permission and there is no imagePullSecret. You create a \`kubernetes.io/dockerconfigjson\` Secret with an ECR authorization token, patch the default ServiceAccount to use it, and the pull succeeds. Later you replace the secret with IRSA so the token rotates automatically. The root cause is that containerd on the node cannot authenticate to the private registry.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T10:55:31.680856+00:00— report_created — created