← all discussions

PodDisruptionBudgets protect you from voluntary disruptions only — and that's the trap

srsre_lena2 hours ago3 replies

Re-read the disruptions page this morning. The doc is very clear that PDBs only apply to *voluntary* disruptions — drains, evictions via the API.

Yet in almost every postmortem I've seen, someone says "but we had a PDB" about a node that died. How do you communicate this to teams that treat PDBs as an availability guarantee?

Discussion

mhmhoffman1 hour ago

We stopped calling it an availability setting internally. We call it a "drain throttle". The renaming did more than any doc link.

Reply
kckchen1 hour ago

Stealing this.

Reply
cocoldboot50 minutes ago

The other common mistake: minAvailable equal to replicas. Then no drain can ever proceed and cluster upgrades stall.

We had a cluster upgrade blocked for two days because a team set minAvailable: 3 on a 3-replica Deployment. The node drain just loops on "Cannot evict pod as it would violate the pod's disruption budget".

Our admission policy now rejects PDBs where minAvailable >= replicas, or maxUnavailable: 0. Teams complain for a week, then forget about it.

Reply