Usually yes, as an option customers can tune. A PodDisruptionBudget limits how many of your pods can be down at once during voluntary disruptions such as node drains and cluster upgrades. Customers patch nodes constantly, and without a budget their routine patching can take your product offline.
Definitions
According to the Kubernetes documentation, a PodDisruptionBudget limits voluntary disruptions, for example node drains, cluster upgrades and evictions through the Eviction API. It is stable since v1.21. It has a selector and either minAvailable or maxUnavailable, never both. Involuntary disruptions such as hardware failure, kernel panics and out of memory kills are not prevented by it.
A node drain uses the Eviction API, which checks the budget before evicting each pod. If an eviction would break the budget, it is rejected, and the drain waits and retries.
Values by workload
The documentation suggests these starting points.
| Workload | Suggested budget |
|---|---|
| Stateless frontend | minAvailable 90 percent |
| Single instance stateful app needing manual coordination | maxUnavailable 0, remove when ready for disruption |
| Quorum system with several members | maxUnavailable 1, or minAvailable equal to quorum size |
| Restartable batch job | None |
Traps to document
- A budget of zero unavailable blocks drains until it is removed or replicas change. Customers patching nodes will see a stuck drain and may force it.
- With a percentage and a single replica, that replica can still be evicted, so availability drops to nothing.
- An empty selector matches every pod in the namespace. Select only your own labels.
- Percentages round, and the documentation says maxUnavailable rounds up, so real disruption can exceed the stated share.
- The budget only works if the cluster owner respects it. Say so in your guide.
Chart design
Add a values flag to enable the budget, with a default sized to your replica count. If the default chart runs one replica, a budget cannot help, so say that single replica installs will have downtime during node patching. Offer a high availability values file.
Tell customers what to do
In your upgrade and node maintenance docs, explain the budget, the setting, and what to expect during a drain. This lets customers keep patching the operating system without opening a ticket. Related: how to roll out a patched base image.
If you want a second look at what you ship, Safeguard can generate and scan an SBOM and run dependency scanning with reachability analysis, and you can try the free scan.
Quick check
Does a PodDisruptionBudget stop a node crash?
No. It limits voluntary disruptions only, such as drains and evictions.
Can I set both minAvailable and maxUnavailable?
No. The documentation says only one can be set in a single budget.
Sources
Last reviewed: 19 October 2026.