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 | 50% |
app-info | 20% |
config-server | 20% |