A routine node maintenance drain hangs even though the PDB allows the eviction on paper.
A PodDisruptionBudget is respected and a maintenance drain still never...
Budget math looks acceptable, yet drain operations stall because the pod lifecycle on one workload is longer than the maintenance window allows.
Scenario
What to check first
- Identify the primary failure signal in the The Budget Was Fine and the Hook Refused to Leave on Time scenario.
- Separate visible symptoms from the underlying technical dependency.
- Describe the safest recovery path and the follow-up prevention work.
Checking checklist
- Summarize the current impact and the last known change.
- Collect direct evidence from logs, runtime state, and configuration before changing anything.
- Separate immediate recovery from permanent prevention work.
Recovery and prevention
Inspect lifecycle timing before weakening disruption budgets or force-deleting pods.
Questions worth viewing together
Community-field Kubernetes problem inspired by Kubernetes operations threads where drains stalled because preStop hooks outlived the timeout. Successful eviction policy does not guarantee practical drain completion within your maintenance timeout.
Teams often blame the PDB when a long preStop hook is what actually blocks the drain.
Operational drain testing should include pod termination timing, not only disruption budget counts.
Similar cases seen in the field