Kubernetes Pod Disruption Budget (PDB)¶
A Pod Disruption Budget (PDB) is a Kubernetes mechanism used to limit the disruption to applications caused by voluntary maintenance events, such as node upgrades or scaling operations.^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md]
Configuration¶
A PDB is typically configured within a workload's resource definition or managed values. In Helm chart configurations, such as the Jenkins chart, PDB settings are often nested under a specific key (e.g., controller.podDisruptionBudget).^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md]
Enabling the Budget¶
By default, PDB configuration is often disabled. To activate it, the enabled flag must be set to true.^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md]
API Version¶
The resource relies on a specific Policy API version, which in many configurations defaults to policy/v1beta1.^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md]
Disruption Limits¶
The budget defines the maximum number of pods that can be unavailable simultaneously during a disruption.^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md] This value, often referred to as maxUnavailable, can be specified as an absolute number or as a percentage.^[400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md]
Related Concepts¶
- [[Kubernetes Probes]]
- [[StatefulSet]]
- Helm
Sources¶
400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md