Skip to content
Latchkey

CI Runner "DiskPressure" / Evicted - Node Disk Exhaustion

A runner pod was evicted because its node hit DiskPressure. The kubelet enforces disk eviction thresholds, so when node disk (or inodes, or image storage) runs low, it evicts pods to reclaim space - taking the in-flight job with it.

What this error means

A self-hosted (Kubernetes-backed) runner job dies abruptly and the pod shows Evicted with reason The node was low on resource: ephemeral-storage or a DiskPressure node condition. Re-running, often on a different node, completes.

Pod status
Status: Failed
Reason: Evicted
Message: The node was low on resource: ephemeral-storage. Threshold quantity: ...
# node condition: DiskPressure=True

Common causes

Node ephemeral storage / image disk ran low

Accumulated container images, layers, logs, and pod scratch on the node crossed the kubelet’s disk eviction threshold, triggering DiskPressure and pod eviction.

The job wrote more ephemeral storage than allowed

A pod exceeding its ephemeral-storage request/limit, or filling the node’s scratch, is evicted to protect the node.

How to fix it

Inspect node disk and eviction state

Confirm the eviction reason and the node’s disk condition.

Terminal
kubectl describe node <node> | grep -A3 -i diskpressure
kubectl get events --field-selector reason=Evicted

Reclaim node disk or schedule elsewhere

  1. Prune unused images on the node (image garbage collection / crictl rmi --prune).
  2. Set realistic ephemeral-storage requests/limits so the scheduler places jobs on nodes with room.
  3. Retry the job - eviction is transient and a healthier node usually completes it.

How to prevent it

  • Enable aggressive image garbage collection on runner nodes.
  • Set ephemeral-storage requests/limits for runner pods.
  • Right-size node disk for the image and scratch footprint of CI jobs.

Frequently asked questions

What causes ""DiskPressure" (evicted)"?
Accumulated container images, layers, logs, and pod scratch on the node crossed the kubelet’s disk eviction threshold, triggering DiskPressure and pod eviction.
How do I fix "DiskPressure" (evicted)?
Confirm the eviction reason and the node’s disk condition.
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card