Kubernetes · Orchestration under pressure
How does a PodDisruptionBudget protect availability?
Short answer
A PDB limits how many pods of a workload may be voluntarily disrupted at once. It guides drains and evictions but does not protect against crashes, node failures or rollouts.
Voluntary disruptions include node drains, cluster autoscaler scale-down and some upgrades. A PDB with minAvailable or maxUnavailable tells the eviction API how much capacity must remain. Evictions that would violate the budget are rejected and retried later, so drains can stall.
- minAvailable: 2 means at least two pods must stay available
- maxUnavailable: 1 means at most one pod may be down at a time
- A PDB with minAvailable equal to replicas can block drains entirely
- PDBs do not apply to rolling updates, crashes or node failures
- Use unhealthyPodEvictionPolicy to let unhealthy pods be evicted during drains
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: api
spec:
minAvailable: 2
selector:
matchLabels:
app: apiSet the budget from real capacity and failure tolerance. If a service needs three replicas to handle peak traffic, minAvailable: 2 may still cause saturation during a drain. Combine the PDB with enough replicas, readiness gates and capacity headroom so evictions are safe rather than merely allowed.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1What counts as a voluntary disruption?
- 2Why can a PDB block node drains?
- 3Does a PDB protect against node crashes?
- 4How would you size replicas and a PDB for a critical API?
Say it in the interview
A PDB protects availability during voluntary disruptions like drains and autoscaler scale-down by limiting how many pods can be evicted at once. It does not cover crashes, node failures or rolling updates. I size it from actual peak capacity, and I watch for drains that stall because the budget is too strict. If a PDB blocks everything, the real fix is usually more replicas or a less aggressive budget.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live Kubernetes mock interview and get scored feedback on depth, clarity and confidence.