Kubernetes evicts pods when nodes are under resource pressure or during planned maintenance. Simulate memory pressure, disk pressure, and see how QoS classes affect eviction order.
Eviction triggers
Pods are evicted when nodes experience memory pressure, disk pressure, or PID exhaustion. The kubelet monitors resources and evicts pods to recover resources.
QoS classes
BestEffort pods are evicted first, then Burstable, then Guaranteed. Within a class, pods using more than their request are evicted before those within limits.
Good for
- Cluster resource planning
- Setting appropriate resource limits
- Understanding pod priority
- Incident response preparation
Questions people ask
How do I prevent pod eviction?
Use Guaranteed QoS (set requests equal to limits), configure PodDisruptionBudgets for voluntary evictions, and ensure nodes are properly sized for workloads.
What is graceful termination?
Before killing a pod, Kubernetes sends SIGTERM and waits for terminationGracePeriodSeconds (default 30s). Use preStop hooks for cleanup tasks.