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

[target allocator] Avoid disruptions with default PDB #2261

Closed
cmergenthaler opened this issue Oct 24, 2023 · 9 comments
Closed

[target allocator] Avoid disruptions with default PDB #2261

cmergenthaler opened this issue Oct 24, 2023 · 9 comments
Assignees
Labels
area:target-allocator Issues for target-allocator enhancement New feature or request

Comments

@cmergenthaler
Copy link
Contributor

Component(s)

target allocator

Is your feature request related to a problem? Please describe.

In order to ensure HA for the target allocator when running with > 1 replicas, the operator should manage a default PodDisruptionBudget for the target allocator. Since it is recommended to run the TA with at least 2 replicas to ensure HA, this should be addressed. In case of a node/cluster upgrade, k8s might disrupt all running TA's at the same time, which would result in a non-HA target allocator.
With work being done on #2141, a PDB for the collector has been added already.

Describe the solution you'd like

Similar to #2141, a default PDB with maxUnavailable=1 should be created for the TA by the operator by default.

Describe alternatives you've considered

No response

Additional context

https://kubernetes.io/docs/tasks/run-application/configure-pdb/

@JorTurFer
Copy link
Contributor

It seems that I misunderstood the TA when I supported PDB on the collector, but if it's an HA component, I'm willing to add the PDB to it too

@jaronoff97
Copy link
Contributor

@JorTurFer would you be able to work on this?

@JorTurFer
Copy link
Contributor

JorTurFer commented Nov 28, 2023

Yes I am, assign it to me and I'll try to do it this weekend. Is TA an HA component?

@jaronoff97
Copy link
Contributor

jaronoff97 commented Nov 28, 2023

yes, but only if the consistent-hashing strategy is set! So maybe we should only set this if that strategy is set. This actually pairs nicely with #1105 which I think would be good to do with this too. i.e. make the strategy an actual type, not just a kube builder enum and check if that type is set to consistent hashing in which case we should make a PDB with it.

@JorTurFer
Copy link
Contributor

JorTurFer commented Dec 3, 2023

yes, but only if the consistent-hashing strategy is set! So maybe we should only set this if that strategy is set. This actually pairs nicely with #1105 which I think would be good to do with this too. i.e. make the strategy an actual type, not just a kube builder enum and check if that type is set to consistent hashing in which case we should make a PDB with it.

I've just added the PDB if the strategy is set because I don't have enough context for changing the strategy part, sorry :/
I could try to update it, but I'm not sure when I can address it

@jaronoff97
Copy link
Contributor

no problem! I can do that in a follow up. Thank you!

@cmergenthaler
Copy link
Contributor Author

@JorTurFer Thanks for your work! @jaronoff97 the issue can be closed right?

@jaronoff97
Copy link
Contributor

yep! Thank you so much @JorTurFer

@JorTurFer
Copy link
Contributor

no worries, happy to help :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:target-allocator Issues for target-allocator enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants