← Problem Library
K8s L4 K8S 1324 · 13 min

A PodDisruptionBudget blocks every node drain

Drain requests hang because disruption accounting still includes pods that are in shutdown but not fully gone.

K8sPlatform ReliabilityLevel 4Pro13 min
Scenario

A maintenance window starts and node drains stop progressing even though replacement pods appear to be coming up normally.

What to check first
  • Identify the primary failure signal in the Graceful Shutdown Still Counted as Real Disruption 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

Review disruption accounting timing before lowering PDB safety or forcing evictions.

Questions worth viewing together
What should you verify first when A PodDisruptionBudget blocks every node drain appears?

Community-field Kubernetes problem inspired by drain and PDB discussions where terminating pods still blocked eviction. Terminating is not the same as absent from the budget calculation.

What usually causes A PodDisruptionBudget blocks every node drain in production?

Teams often blame slow scheduling when the PDB math is still waiting on terminating pods to fully exit.

What should you document after resolving A PodDisruptionBudget blocks every node drain?

Maintenance playbooks should be tested against how PDBs count terminating workloads, not only running replicas.