This is the initial pod disruption budget that will serve as the template for all services in OpenStack-Helm. Partially-Implements: blueprint add-pod-disruption-budgets Change-Id: I67eeaa66257e793f77a089f3bc0dd4b700638c63
1.4 KiB
Kubernetes Operations
Init-Containers
Jobs
Pod Disruption Budgets
OpenStack-Helm leverages PodDistruptionBudgets to enforce quotas that ensure that a certain number of replicas of a pod are available at any given time. This is particularly important in the case when a Kubernetes node needs to be drained.
These quotas are configurable by modifying the
minAvailable
field within each PodDistruptionBudget
manifest, which is conveniently mapped to a templated variable inside
the values.yaml
file. The min_available
within
each service's values.yaml
file can be represented by
either a whole number, such as 1
, or a percentage, such as
80%
. For example, when deploying 5 replicas of a pod (such
as keystone-api), using min_available: 3
would enfore
policy to ensure at least 3 replicas were running, whereas using
min_available: 80%
would ensure that 4 replicas of that pod
are running.
Note: The values defined in a PodDisruptionBudget
may conflict with other values that have been provided if an operator
chooses to leverage Rolling Updates for deployments. In the case where
an operator defines a maxUnavailable
and
maxSurge
within an update strategy that is higher than a
minAvailable
within a pod disruption budget, a scenario may
occur where pods fail to be evicted from a deployment.