Atlas Entry
Atlas: ImagePullBackOff / ErrImagePull
Pods fail to pull images; events show ErrImagePull or ImagePullBackOff.
Text
Symptom → evidence → resolution.
Symptom
Pods fail to pull images; events show ErrImagePull or ImagePullBackOff.
WorkloadsOperationsReliabilitySecurity
What this usually means
The kubelet cannot fetch the image from the registry. Until it can, the pod cannot start, and there is no deeper application signal to interpret.
Likely causes
Pull failures are boring. Treat them as a checklist, not a mystery.
- Wrong image reference (typo, missing tag, private registry path).
- Missing/incorrect imagePullSecrets or service account config.
- Egress restrictions (NAT, firewall, NetworkPolicy outside cluster, proxy).
- Registry rate limiting or transient registry outage.
- Node DNS issues resolving the registry host.
What to inspect first
Start with events. They usually name the exact failure.
- Look for: `Failed to pull image`, `unauthorized`, `not found`, `i/o timeout`.
- Confirm which serviceAccountName the pod uses.
- Confirm imagePullSecrets exist and are referenced correctly.
kubectl
shell
kubectl describe pod <pod> -n <ns>
kubectl get sa <sa> -n <ns> -o yamlResolution guidance
Fix the governing mechanism, then verify a clean pull on new pods.
- Correct the image reference; prefer immutable tags/digests for critical workloads.
- Attach imagePullSecrets to the service account (namespace-scoped) if appropriate.
- If egress/DNS is the issue, confirm node-level resolution and outbound routing.
Related
Canonical link
Canonical URL: /atlas/imagepullbackoff