Files
openstack-helm/doc/source/devref/getting-started/pod-disruption-budgets.rst
Steve Wilkerson 8846925640 Documentation reorganization and cleanup
This removes empty documentation pages and places the
troubleshooting docs to the top of the docs/source tree. Also
places the pod disruption budget docs to the rest of the
getting-started docs, which are primarily concepts used in
openstack-helm

Change-Id: Ic3f8deefbd873ae5332e14a12351d9967eb22b1b
2017-07-03 12:06:17 -05:00

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.