Skip to content

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]

  • [[Kubernetes Probes]]
  • [[StatefulSet]]
  • Helm

Sources

  • 400-devops__06-Kubernetes__devops-helm__helm-jenkins__VALUES_SUMMARY.md