ImagePullBackOff and ErrImagePull are two states in the same Kubernetes retry loop — ErrImagePull fires on the first failed pull, ImagePullBackOff is the waiting state between retries (exponential backoff capping at 5 minutes). Eight distinct root causes are covered: wrong image name or tag, missing imagePullSecret, expired credentials (including ECR's 12-hour token expiry), Docker Hub rate limits, unreachable registry, imagePullPolicy: Never, and architecture mismatch. For each cause, the exact error string visible in `kubectl describe pod` Events is mapped to a concrete fix, with ready-to-use kubectl commands and YAML examples. Key operational tips include patching the default ServiceAccount to inherit pull credentials namespace-wide, using IRSA/workload identity for cloud registries in production, and forcing an immediate retry after a fix via `kubectl delete pod` or `kubectl rollout restart` rather than waiting out the backoff timer.

15m read timeFrom cast.ai
Post cover image
Table of contents
Key TakeawaysWhat ImagePullBackOff and ErrImagePull MeanHow to Diagnose ImagePullBackOffCommon Causes and FixesConclusionFrequently Asked Questions
451 Impressions