Pod Disruption Budgets
This page describes the PodDisruptionBudgets (PDBs) that the MinIO AIStor Operator creates for Object Store pools, and the objectStore.disablePodDisruptionBudget field that turns them off.
A PDB limits how many Pods a voluntary disruption can remove at once. Voluntary disruptions include draining a node for maintenance, a cluster autoscaler removing a node, and a node pool upgrade. PDBs have no effect on involuntary disruptions such as a node failure or an out-of-memory kill.
How the Operator manages PodDisruptionBudgets
The Operator creates one PDB for each Object Store pool of more than two servers, in the Object Store namespace, named after that pool’s StatefulSet. A pool of two servers or fewer gets no PDB, because it cannot lose a server and still hold write quorum. Write quorum is the number of servers that must stay available for the pool to accept writes.
The Operator sets minAvailable to that number, calculated from the pool’s erasure coding configuration.
If the Operator cannot read that configuration, it falls back to a simple majority of the pool’s servers.
While a pool’s StatefulSet is not fully ready, the Operator skips PDB updates for that pool. This keeps it from interfering while you add, remove, or decommission a pool.
minAvailable.
This is the intended behavior. It prevents a rolling node operation from dropping the Object Store below write quorum.
Disable PodDisruptionBudget creation
Some organizations manage disruption policy centrally and do not want an Operator creating PDBs in their clusters.
Set objectStore.disablePodDisruptionBudget to true in your Object Store Helm values to stop the Operator from creating them:
objectStore:
disablePodDisruptionBudget: true
Apply the configuration when deploying or upgrading your Object Store:
helm upgrade --install -n OBJECT-STORE-NAMESPACE OBJECT-STORE-NAME minio/aistor-objectstore -f aistor-objectstore-values.yaml
Replace OBJECT-STORE-NAMESPACE with your Object Store namespace and OBJECT-STORE-NAME with the Helm release name.
The Operator deletes the PDBs it created for the Object Store. It does not touch a PDB you created yourself, even one that targets the same pool.
Set the field back to false, the default, and the Operator manages the PDBs again.
Version compatibility
The objectStore.disablePodDisruptionBudget field requires Operator RELEASE.2026-07-16T23-53-30Z or later.
Earlier releases always create them for pools of more than two servers, and offer no way to turn that off.
Related documentation
- Object Store Helm Chart - Complete Helm chart reference
- PVC Protection - The sibling
objectStore.pvcProtectionfield - Specifying a Disruption Budget - Official Kubernetes documentation