← Problem Library
K8s L5 K8S 1214 · 19 min

Drain fails even with enough replicas because another unavailable pod already consumed the PDB budget

The local node math looks safe, yet eviction still blocks because disruption budget accounting is cluster-wide.

K8sPlatform ReliabilityLevel 5Pro19 min
Scenario

An operator drains a node and eviction keeps failing although replica count seems sufficient.

What to check first
  • Identify the primary failure signal in the PDB Accounting Debug scenario.
  • Separate visible symptoms from the underlying technical dependency.
  • Describe the safest recovery path and the follow-up prevention work.
Checking checklist
  1. Summarize the current impact and the last known change.
  2. Collect direct evidence from logs, runtime state, and configuration before changing anything.
  3. Separate immediate recovery from permanent prevention work.
Recovery and prevention

Read disruption budget state at workload scope before forcing eviction.

Questions worth viewing together
What should you verify first when Drain fails even with enough replicas appears?

Community-field Kubernetes maintenance problem inspired by Stack Overflow patterns where drain failed because PDB allowance was already consumed. Replica count on one node is not enough; PDBs account cluster-wide.

What usually causes Drain fails even with enough replicas in production?

Teams often think drain is broken when the budget was already consumed elsewhere.

What should you document after resolving Drain fails even with enough replicas?

PDB behavior is stricter than many maintenance playbooks assume.