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

[Enhancement] Integrate Cruise Control into the Kafka broker scale up/down process #4112

Closed
tomncooper opened this issue Dec 15, 2020 · 7 comments

Comments

@tomncooper
Copy link
Contributor

When you add Kafka brokers, the new brokers only accept new topics/partitions. The user needs to manually reassign partitions to spread the load onto the new brokers. The user can run a whole cluster rebalance manually via the KafkaRebalance CR. However, it would be nice to do this automatically (if desired).

Scaling up can be improved by integrating with Cruise Control's add brokers functionality to rebalance the load as brokers are activated.

For removing brokers, the broker to be shut down needs to be "drained" of partitions. This will require integration with Cruise Control's decommissioning functionality.

@scholzj
Copy link
Member

scholzj commented May 26, 2022

Triaged on 26.5.2022: Related to #133. #133 should implement a check preventing broker scaledown from happening if there are any topics assigned still to the removed brokers. This issue should build on top of it and implement the automation -> to have the rebalance done automatically when scaling up or down. A second proposal will be needed for this.

@viktorsomogyi
Copy link

Hi @scholzj , are there any plans on moving forward with this task? We're currently evaluating Strimzi and broker scalability is an important factor for us. Would you please share more info what are the current outstanding tasks and whether you'll implement this and automatic rebalance on cluster scaling?

@scholzj
Copy link
Member

scholzj commented Oct 11, 2023

Hi @viktorsomogyi. I guess the current state is the following:

For scale-down:

For scale-up:

  • We essentially need to only do the rebalance after the scale-up is done.
    Again, I do not think we discussed in detail how to do it.
    We also need to decide on what goals should be used for this.

I think for both cases, the next steps should be to discuss the details of how it will be implemented. Some of the discussion happened in strimzi/proposals#57, but we decided to postpone it among other things because we were missing the blocking on scale-down that is now done. @ppatierno was working on this.

To be honest, right now our focus is mostly on KRaft support. So I do not think we will get to this anymore in 2023. But this is still something we plan to support and I hope it should be one of the things we will do in early 2024 once most of the KRaft work is done.

Of course, we are always interested in contributions - so if you would be interested, you could also join the work on this - that might speed it up 😉.

CC @ppatierno: Not sure if you have something to add.

@viktorsomogyi
Copy link

viktorsomogyi commented Oct 17, 2023

@scholzj thanks for the very detailed writeup, it is really insightful, also the part that you'll working full speed on KRaft. That would have been another question from me 🙂.
We are interested in contributing sometime next year when we get to it as now our hands are full with onboarding Strimzi into our product. I'll reach out to you once it becomes close.

@scholzj
Copy link
Member

scholzj commented Oct 17, 2023

@viktorsomogyi Ok, great. Please let me know if you would have any more questions. Thanks

@ppatierno ppatierno self-assigned this Jul 24, 2024
@ppatierno
Copy link
Member

Proposal for this one is now approved and merged https://github.com/strimzi/proposals/blob/main/078-auto-rebalancing-cluster-scaling.md. Going to work on the implementation.

@ppatierno
Copy link
Member

Closed by #10583

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants