Kubernetes / Deployments, Scheduling & Batch Workloads
Investigate a drain blocked by a PodDisruptionBudget
A voluntary disruption can be denied when too few healthy replicas would remain. Inspect the budget and application readiness before changing it.
Environment and inputs: Kubernetes · kubectl with supported client/server versions and delegated RBAC. Examples use namespace app unless noted. Check context, namespace, APIs and provider support first.
Start with this check
Confirm the environment and replace sample objects, namespaces, images, paths and hosts with approved targets. Share only relevant, sanitized output. Follow the workload owner’s process for changes.
kubectl -n app describe pdb web
Read the result
The budget reports selectors, healthy counts and allowed disruptions. It protects only its defined voluntary-disruption behavior, not every failure mode.
Resolve and verify
Find unready replicas or overly restrictive configuration and restore application health. Coordinate maintenance and any justified budget change with the workload owner.
Before changing production
Do not delete the budget or force disruption simply to finish node maintenance faster.