Linkerd2: Add Support for PodDisruptionBudgets in Helm Chart

Created on 16 Dec 2020  路  4Comments  路  Source: linkerd/linkerd2

Feature Request

What problem are you trying to solve?

When rolling the nodes of the cluster and/or scaling in it is possible for all the control plane pods to be terminated

How should the problem be solved?

An option to provision PodDisruptionBudgets for the control plane services as part of the helm chart

Any alternatives you've considered?

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.

How would users interact with this feature?

A boolean value on the helm chart

good first issue help wanted

All 4 comments

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

Was this page helpful?
0 / 5 - 0 ratings