Pod Disruption Budgets for Safe Cluster Upgrades
At 2 a.m. during a node pool upgrade, Redis Sentinel lost quorum because three pods were evicted simultaneously. This post is about making pod disruption budgets for safe cluster upgrades boring in the best way — predictable under load, auditable under review, and reversible under stress.
Why this shows up under real load
At 2 a.m. during a node pool upgrade, Redis Sentinel lost quorum because three pods were evicted simultaneously. That is the difference between demo-grade PodDisruptionBudget and production-grade PodDisruptionBudget.
Prioritize Pod Disruption Budgets for Safe Cluster Upgrades before enabling cluster autoscaler consolidation or your first production node drain.
Decision guide for platform teams
| Situation | Do | Avoid |
|---|---|---|
| Tier-1 downstream | Fail closed on PodDisruptionBudget | Warn-only gates |
| Staging parity | Same suite as prod, smaller data | Different expectations |
| Incident response | One-click rollback path | Manual console edits |
Configuration patterns that survived review
Patterns we kept for PodDisruptionBudget:
Rollout without blocking the business
Roll out in waves: internal consumers, 10% traffic or partitions, soak 48h, then full promote. Keep previous artifact version hot-swappable for one release cycle.
Pair rollout with shadow validation where possible — run new checks without blocking, compare results, then enforce.
Monitoring and on-call signals
Dashboards for PodDisruptionBudget belong in the same folder on-call opens first. Link runbooks from alert annotations — not a wiki nobody trusts.
Delete alerts that never fire; add thresholds that would have caught your last incident.
Lessons from production
Pod Disruption Budgets for Safe Cluster Upgrades is load-bearing once traffic and teams scale. Treat changes like any tier-1 deploy: feature flags, observability, rollback.
Document org-specific decisions — CIDRs, cluster names, approval gates — in internal docs that stay current.
Reference configuration
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: redis-sentinel
spec:
minAvailable: 2
selector:
matchLabels:
app: redis-sentinel
Upgrade coordination
Cluster upgrades, node drains, and workload rollouts interact. PodDisruptionBudgets, PriorityClasses, and native sidecars change termination order — test rollouts on production-shaped replica counts and volume attach/detach timing.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Handoff to adjacent teams
Kubernetes pipelines touch ingestion, serving, and finance. Document interfaces where PodDisruptionBudget gates hand off to downstream owners so failures are not bounced without context.
Operating PodDisruptionBudget at scale
After the first successful deploy of pod disruption budgets for safe cluster upgrades, most incidents trace to assumptions that stopped being true: traffic doubled, schemas drifted, or credentials rotated without updating consumers. Schedule a quarterly review of PodDisruptionBudget settings with the on-call rotation — not only the primary author.
Further reading
- https://kubernetes.io/docs/home/
- https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/
Frequently asked questions
When should teams prioritize Pod Disruption Budgets for Safe Cluster Upgrades?
Before enabling cluster autoscaler consolidation or your first production node drain.
What is the most common mistake with PodDisruptionBudget?
Setting minAvailable to 100% on stateless Deployments blocks all voluntary evictions.
Namespace-scoped or cluster-wide?
Security baselines cluster-wide; workload-specific tuning per namespace. Document exceptions with expiry dates.
What signal pages first?
User-visible error budget burn or scheduling failures — not average CPU across the cluster.
Hiring a senior Android / Flutter engineer?
I architect and ship production mobile software — Kotlin, Jetpack Compose, Flutter — for robotics, EV infrastructure, fintech, and real-time systems. Open to remote roles in Europe and the US.
Get in touch →