ErrImagePull: The first failed attempt to pull a container image
ErrImagePull is the immediate result of a failed image pull. If the failure repeats, the status becomes ImagePullBackOff. The two have the same causes and the same fixes.
Applies to: All Kubernetes versions, any container runtime
What it means
ErrImagePull appears the moment the kubelet's first pull attempt fails. It is short-lived: after further failures the kubelet begins delaying retries and the status changes to ImagePullBackOff. Seeing ErrImagePull rather than ImagePullBackOff tells you only that the failure is recent, not that it is a different problem. Diagnose it exactly as you would ImagePullBackOff: the useful information is in the pod's events, not in the status string.
Most common causes
- A wrong image name, tag, or registry hostname.
- Missing or invalid registry credentials for a private image.
- Registry rate limiting.
- The node has no network route or DNS resolution to the registry.
- The image manifest does not include the node's CPU architecture.
How to diagnose it
- Run
kubectl describe pod PODand read the event message, which contains the registry's own error text. - Verify the image reference resolves from a machine that can reach the registry.
- Check that any referenced pull secret exists in the same namespace as the pod.
How to fix it
- Correct the image reference, or add valid
imagePullSecretsin the pod's namespace. - Authenticate to the registry if you are being rate limited anonymously.
- Resolve node-level network or DNS problems if the registry is unreachable.
Notes
Because the status flips to ImagePullBackOff quickly, most people only ever see the back-off form. There is no separate fix for this state.