A PodDisruptionBudget Kubernetes Resource
PodDisruptionBudget (PDB) is a Kubernetes resource that allows you 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 NRF services. For more information on the services that are supported, see Table A-1.
maxPdbUnavailable parameter
            specified in the Helm chart to determine the maximum number of pods that can be
            unavailable during a voluntary disruption. 
                  Note:
The maxPdbUnavailable parameter has a predefined
                    value. 
                     
For example, when a maxPdbUnavailable is 25%, pod
                    evictions are allowed as long as no more than 25% of the desired pods are in
                    unhealthy state.
                     
For more information about this functionality, see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets.
Note:
The performance and capacity of the NRF system may vary based on the call model, Feature or Interface configuration, and underlying CNE and hardware environment.Table A-1 Predefined PodDisruptionBudget Value
| Microservice | PDB Value (maxPdbUnavailable) | 
|---|---|
| <helm-release-name>-nfregistration | 25% | 
| <helm-release-name>-nfsubscription | 25% | 
| <helm-release-name>-nfdiscovery | 25% | 
| <helm-release-name>-nrfauditor | 25% | 
| <helm-release-name>-nrfconfiguration | Not Applicable
                               Note: PDB not supported for this microservice.  | 
                        
| <helm-release-name>-appinfo | 50% | 
| <helm-release-name>-nfaccesstoken | 25% | 
| <helm-release-name>-nrfartisan | Not Applicable
                               Note: PDB not supported for this microservice.  | 
                        
| <helm-release-name>-alternate_route | 25% | 
| <helm-release-name>-egressgateway | 25% | 
| <helm-release-name>-ingressgateway | 25% | 
| <helm-release-name>-performance | 50% | 
Note:
<helm-release-name> is the Helm release name. For
                example, if helm-release-name is "ocnrf", then nfsubscription microservice name will
                be "ocnrf-nfsubscription".