B PodDisruptionBudget Configuration

PodDisruptionBudget (PDB) is a Kubernetes resource that allows to achieve high availability of scalable application services when the cluster administrators perform voluntary disruptions to manage the cluster nodes. PDB restricts the number of pods that are down simultaneously from voluntary disruptions. Defining PDB is helpful to keep the services running undisrupted when a pod is deleted accidentally or deliberately. PDB can be defined for high available and scalable BSF services such as BSF Management Service, Diameter Gateway, app-info, and perf-info.

It allows safe eviction of pods when a Kubernetes node is drained to perform maintenance on the node. It uses the default value of the maxUnavailable parameter specified in the Helm chart to determine the maximum number of pods that are unavailable during a voluntary disruption. For example, if maxPdbUnavailable is 50%, the evictions are allowed until not more than 50% of the desired replicas are unhealthy.

For more information about this functionality, see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets.

The following BSF services support PDB:

Table B-1 Default PodDisruptionBudget for BSF

Microservice PDB Default Value (maxUnavailable)
cm-service 20%
alternate_route 1
ocingress_gateway 1
ocegress_gateway 1
oc-diam-gateway 20%
oc-bsf-management 20%
oc-query 20%
oc-perf-info 20%
nrf-client NA
app-info 20%
config-server 20%
ocbsf-audit 50%