Skip to content
Latchkey

Kubernetes "ImageInspectError" - Fix Corrupt Local Image State in CI

ImageInspectError means the runtime found the image locally but failed to inspect its metadata. The image’s on-node content is corrupt or inconsistent - usually from an interrupted pull, a full/failing disk, or a content-store problem - so the kubelet cannot use it.

What this error means

A pod fails to start with STATUS: ImageInspectError, and kubectl describe pod shows Failed to inspect image "..." : ... <runtime error>. The image is on the node, but the runtime cannot read its config.

kubectl describe pod
Warning  Failed  7s  kubelet  Error: ImageInspectError: Failed to inspect image
"registry/api:1.0": rpc error: code = NotFound desc = content digest sha256:...:
not found

Common causes

Corrupt or partial local image

An interrupted pull or a content-store inconsistency leaves the image present but unreadable, so inspect fails with a missing-content or digest error.

Disk full or failing on the node

A full or failing node disk corrupts the runtime’s image content store, breaking inspect for affected images.

How to fix it

Check node disk and the runtime image state

Terminal
kubectl describe pod <pod> | grep -A2 -i imageinspect
kubectl describe node <node> | grep -A3 -i 'DiskPressure\|ephemeral'

Clear the bad image so it is re-pulled clean

  1. Free node disk if it is full, then let image GC/re-pull restore a clean copy.
  2. Remove the corrupt image from the node’s runtime store (or recycle the node) so the next pull fetches it fresh.
  3. Reschedule the pod; with a clean local image, inspect succeeds.

How to prevent it

  • Keep node disks sized and garbage-collected so the content store stays healthy.
  • Monitor for DiskPressure so corruption from full disks is caught early.
  • Pin digests so a re-pull restores a known-good image.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →