Pod disruption budgets explained
A pod disruption budget limits how many pods of a replicated application can be down at the same time because of voluntary disruptions, such as a node drain during a cluster upgrade.
You set either minAvailable or maxUnavailable. The eviction API refuses an eviction that would violate the budget, so a drain waits until enough replicas are ready again elsewhere.
When budgets do not apply
Involuntary disruptions, such as a kernel panic or a node losing power, are not prevented by a budget, but they do count against it. Read the upstream reference for the full field list.