The PodDisruptionBudget kind (or PDB) is used to configure the availability of voluntary disruptions.
To give a little more detail, this is a policy that, for example, limits how many pods can be disrupted at once, this ensure a minimum number of pods remain available during operations such as node upgrade, autoscaling or voluntary evictions. This is a way to ensure serving capacity remains at a given level during upgrades etc.
Here’s an example yaml file for this
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: echo-pdb
namespace: dev
spec:
minAvailable: 1 # At least one pod must be available OR use maxUnavailable: 1 for maximum which can be unavailable
selector:
matchLabels:
app: echo
In this example we use the “minAvailable”, you could use “maxUnavailable” but not both.