Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PDB on linkerd-viz Helm chart #11628

Merged
merged 2 commits into from
Nov 23, 2023
Merged

Conversation

mcharriere
Copy link
Contributor

@mcharriere mcharriere commented Nov 17, 2023

To avoid disruption during cluster nodes rolling or scaling, it's desired to complement the maxUnavailable from the rolling strategy with a PodDisruptionBudget.

This commit adds the respective PDB objects following the core components implementation to the tap, tap-injector, web and metrics-api deployments. It can be enabled with the enablePodDisruptionBudget helm chart value and are installed only if each of those components have more than 1 replica.

Fixes #11248

Previous PR was close due inactivity (#11249), sorry about that.

I'm wondering if the PodDisruptionBudgets should apply to the other deployments in linkerd-viz as well, namely web, prometheus, and metrics-api. What do you think?

As requested there, I added in this new PR PDBs for web and metrics-api. prometheus has only fixed 1 replica; so it doesn't really make sense to add a PDB for it.

To avoid disruption during cluster nodes rolling or scaling, it's
desired to complement the maxUnavailable from the rolling strategy with
a PodDisruptionBudget.

This commit adds the respective PDB objects following the core
components implementation to the `tap` and `tap-injector` deployments.
It can be enabled with the enablePodDisruptionBudget helm chart value.

Fixes linkerd#11248

Signed-off-by: Matias Charriere <[email protected]>
@mcharriere mcharriere requested a review from a team as a code owner November 17, 2023 09:28
Copy link
Member

@adleong adleong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@olix0r olix0r requested a review from alpeb November 17, 2023 23:50
@@ -50,6 +50,9 @@ tolerations: &default_tolerations
# Enable this only when you have multiple replicas of components.
enablePodAntiAffinity: false

# -- enables the creation of pod disruption budgets for tap and tap-injector components
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please add web to the list, and re-run bin/helm-docs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done. also added metrics-api.

Copy link
Member

@alpeb alpeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@alpeb alpeb merged commit dea850a into linkerd:main Nov 23, 2023
31 checks passed
mateiidavid added a commit that referenced this pull request Nov 30, 2023
This edge release introduces new configuration values in the identity
controller for client-go's `QPS` and `Burst` settings. Default values for these
settings have also been raised from `5` (QPS) and `10` (Burst) to `100` and
`200` respectively.

* Added `namespaceSelector` fields for the tap-injector and jaeger-injector
  webhooks. The webhooks are now configured to skip `kube-system` by default
  ([#11649]; fixes [#11647]) (thanks @mikutas!)
* Added the ability to configure client-go's `QPS` and `Burst` settings in the
  identity controller ([#11644])
* Improved client-go logging visibility throughout the control plane's
  components ([#11632])
* Introduced `PodDisruptionBudgets` in the linkerd-viz Helm chart for tap and
  tap-injector ([#11628]; fixes [#11248]) (thanks @mcharriere!)

[#11649]: #11649
[#11647]: #11647
[#11644]: #11644
[#11632]: #11632
[#11628]: #11628
[#11248]: #11248

Signed-off-by: Matei David <[email protected]>
@mateiidavid mateiidavid mentioned this pull request Nov 30, 2023
mateiidavid added a commit that referenced this pull request Dec 1, 2023
This edge release introduces new configuration values in the identity
controller for client-go's `QPS` and `Burst` settings. Default values for these
settings have also been raised from `5` (QPS) and `10` (Burst) to `100` and
`200` respectively.

* Added `namespaceSelector` fields for the tap-injector and jaeger-injector
  webhooks. The webhooks are now configured to skip `kube-system` by default
  ([#11649]; fixes [#11647]) (thanks @mikutas!)
* Added the ability to configure client-go's `QPS` and `Burst` settings in the
  identity controller ([#11644])
* Improved client-go logging visibility throughout the control plane's
  components ([#11632])
* Introduced `PodDisruptionBudgets` in the linkerd-viz Helm chart for tap and
  tap-injector ([#11628]; fixes [#11248]) (thanks @mcharriere!)

[#11649]: #11649
[#11647]: #11647
[#11644]: #11644
[#11632]: #11632
[#11628]: #11628
[#11248]: #11248

Signed-off-by: Matei David <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add PodDisruptionBudgets in linkerd-viz chart
3 participants