When rolling the nodes of the cluster and/or scaling in it is possible for all the control plane pods to be terminated
An option to provision PodDisruptionBudgets for the control plane services as part of the helm chart
I am currently planning to configure these outside of helm using terraform, but it feels like something that could come bundled with the helm chart.
A boolean value on the helm chart
We should check for minimum version requirements for this
@tustvold if you're up for submitting a PR that would be really helpful!
Note that we already specify this rolling update strategy for control plane components:
strategy:
rollingUpdate:
maxUnavailable: 1
Adding a similar PDB which specifies a maxUnavailable: 1 would be a good complement to this and would help prevent scaling clusters down to the point that the control plane becomes unavailable. This seems like "the right thing" in all cases, so I don't think it needs to be configurable with a boolean value on the chart -- we should just do it.
@cpretzer PodDisruptionBudgets were added in kubernetes 1.5 which was EOL in 2017, so we should be good on that front