Kubernetes: Pod Evicted — The node was low on resource: memory / ephemeral-storage

The kubelet removed the pod because its node ran short of memory or disk.

Seen on: Kubernetes

Meaning

Under node pressure, pods using more than they requested (or BestEffort pods without requests) are evicted first. Evicted pods stay listed with status Evicted until cleaned up.

Common causes

  • Pods without memory requests/limits (BestEffort)
  • Logs or temp files filling node ephemeral storage
  • Node too small for the workload
  • Images filling the node disk

⚡ Quick fix

  1. Set realistic requests and limits
  2. Set ephemeral-storage requests/limits, write temp data to emptyDir with sizeLimit
  3. Clean evicted pods: kubectl delete pod --field-selector=status.phase==Failed
  4. Scale nodes or use larger instances

Detailed fix by platform

Kubernetes

  1. Requests for memory and disk:
    yaml
    resources:
      requests: { memory: "256Mi", ephemeral-storage: "1Gi" }
      limits:   { memory: "512Mi", ephemeral-storage: "2Gi" }

How to diagnose

  1. Reason — kubectl describe pod → Reason/Message
  2. Node — Node conditions: MemoryPressure / DiskPressure
  3. Usage — Which pods use most memory/disk?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.