A maintenance window begins and a single namespace blocks node drains with admission errors unrelated to application health.
A node drain hangs even though replicas are healthy because a validating webhook blocks eviction updates after its own CA bundle expired only in one namespace
Workloads are fine, yet drains stop because eviction requests still traverse a webhook path whose trust has silently expired.
Scenario
What to check first
- Identify the primary failure signal in the Maintenance Was Blocked by a Webhook No One Thought Was in the Eviction Path 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
Trace eviction admission hooks before forcing drains or lowering PodDisruptionBudgets.
Questions worth viewing together
Community-field Kubernetes problem inspired by Kubernetes operations discussions where expired webhook trust blocked node drain operations. Operational control paths like drain can still depend on app-adjacent admission webhooks.
Teams often blame PDBs when the real blocker is a failing validating webhook in the eviction path.
Webhook certificate hygiene is a maintenance concern, not just an application deployment concern.
Similar cases seen in the field