Details
-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
0
-
0%
Description
Why?
When 3scale is deployed in HA mode, if the underline k8s or OpenShift is being upgraded, depending how the upgrade is done, there is a chance that all replicas of 3scale deployments will be evicted from current node and move to a new node. This will cause downtime.
[PodDisruptionBudget](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/) is a feature provided by K8S to help solve this problem. It can help limit the number of pod that are down simultaneously. However, it will not work if there is only 1 replica deployed.
How?
1. When HA mode is enabled, the operator will automatically create corresponding PDB objects for all the deployments that have more than 1 replica.
2. We also need to watch the ReplicaSets and if a deployment is scaled down to 1, we will have to delete the PDB automatically to prevent any possible problems, and create the PDB again if it's scaled up.
GH issue: https://github.com/3scale/3scale-operator/issues/303