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.
Warning Failed 7s kubelet Error: ImageInspectError: Failed to inspect image
"registry/api:1.0": rpc error: code = NotFound desc = content digest sha256:...:
not foundCommon 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
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
- Free node disk if it is full, then let image GC/re-pull restore a clean copy.
- Remove the corrupt image from the node’s runtime store (or recycle the node) so the next pull fetches it fresh.
- 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.