Skip to main content
kubernetesintermediatenetworkingVerified

Kubernetes ImagePullBackOff: Causes and Fixes

Last reviewed: 9/14/2026
3 solutions

Exact Error Message

ImagePullBackOff

Quick Fix

Check image name and credentials: kubectl describe pod POD_NAME to see the specific error.

What This Error Means

ImagePullBackOff occurs when Kubernetes fails to pull a container image. This can be due to authentication issues, incorrect image names, network problems, or the image not existing in the registry.

Common Symptoms
  • Pod stuck in ImagePullBackOff state
  • Pod never starts
  • Image pull errors in events
  • ContainerCreating state persists
Common Causes
  • Image does not exist in registry
  • Incorrect image name or tag
  • Registry authentication failure
  • Network connectivity issues
  • Private registry without credentials
  • Image too large for pull timeout
Diagnostic Steps
  1. 1Describe pod to see events: kubectl describe pod POD_NAME
  2. 2Check image name and tag in deployment
  3. 3Verify image exists in registry
  4. 4Check image pull secrets
  5. 5Test network connectivity to registry

Solutions

Solution 1: Fix image name or tag
  1. 1Verify correct image name and tag
  2. 2Update deployment with correct image
  3. 3Check if tag exists in registry
  4. 4Rollout the deployment

Commands to Run

Using latest tag is not recommended in production

kubectl set image deployment/DEPLOYMENT_NAME CONTAINER_NAME=IMAGE:TAG

Use specific version tags

kubectl rollout restart deployment/DEPLOYMENT_NAME
Solution 2: Configure image pull secrets
  1. 1Create docker-registry secret
  2. 2Add secret to service account
  3. 3Update deployment to use imagePullSecrets
  4. 4Verify pod can pull image

Commands to Run

Secrets contain sensitive credentials

kubectl create secret docker-registry regcred --docker-server=REGISTRY_URL --docker-username=USER --docker-password=PASSWORD
Solution 3: Fix network connectivity
  1. 1Test connectivity to registry from cluster
  2. 2Check firewall rules
  3. 3Verify DNS resolution
  4. 4Check proxy configuration if needed

Commands to Run

Network issues may affect other services

kubectl run -it --rm debug --image=curlimages/curl -- curl -v REGISTRY_URL
Prevention Tips
  • Use specific image tags not latest
  • Use image pull policy IfNotPresent when appropriate
  • Monitor image pull failures
  • Use image provenance scanning
  • Test images in development first

Version Notes: Applies to Kubernetes 1.20+

Was this helpful?