Kubernetes · Orchestration under pressure

How does a PodDisruptionBudget protect availability?

HardpdbavailabilitydisruptionsUpdated Oct 2026
Quiz this track

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
yaml
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: api
spec:
  minAvailable: 2
  selector:
    matchLabels:
      app: api

Set 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.

A PDB that always blocks drain is usually a signal that the workload is under-replicated or the budget is too strict. Do not remove the PDB to make an upgrade pass without understanding the availability cost.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1What counts as a voluntary disruption?
  2. 2Why can a PDB block node drains?
  3. 3Does a PDB protect against node crashes?
  4. 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.