kvrocks-controller icon indicating copy to clipboard operation
kvrocks-controller copied to clipboard

Make the controller a complete solution for small-scale kvrocks clusters

Open yuzegao opened this issue 4 months ago • 2 comments

Hi guys, When we tried to use kvrocks, we felt the urgency of needing a complete management system. I have experience in cloud platform storage management development. I want to discuss whether the controller can be expanded to have more complete cluster management capabilities, including the following:

  1. Resource management: physical machine/virtual machine resource metadata maintenance, kvrocks process allocation and recycling
  2. High availability: supplementary slave capability to ensure cluster high availability, while supporting cross-AZ node distribution
  3. kvrocks cluster management: cluster setup (include kvrocks process setup), vertical expansion, horizontal expansion, reduction, node migration, and instance deletion Of course, there are some prerequisites for the above capabilities that need to be discussed:
  4. Does the kvrocks process run as a pod or an independent process?
  5. Is it necessary to support proxy? The above functional points can make the controller a complete management system that can run independently. Combined with the UI, it can meet the management needs of small-scale clusters. I hope to discuss the possibilities with you and make contributions.

yuzegao avatar Jul 26 '25 08:07 yuzegao

@yuzegao Thanks for your information.

Resource management: physical machine/virtual machine resource metadata maintenance, kvrocks process allocation and recycling

For now, it's not under the roadmap of controller, but the community has another solution: https://github.com/RocksLabs/kvrocks-operator.

High availability: supplementary slave capability to ensure cluster high availability, while supporting cross-AZ node distribution

Could you please which features are needed by crossing multiple zones.

kvrocks cluster management: cluster setup (include kvrocks process setup), vertical expansion, horizontal expansion, reduction, node migration, and instance deletion

Yes, it would be perfect if we can do that. And this should require the feature in question 1.

Does the kvrocks process run as a pod or an independent process?

Yes, it can be run as a pod or on VM.

Is it necessary to support proxy?

No need, it works as the Redis cluster. Except for the cluster management is depending on controller.

git-hulk avatar Aug 01 '25 02:08 git-hulk

@git-hulk Thanks for your replay. I found that another option for implementing controller system is kubeblocks, and I am currently learning kubeblocks.

yuzegao avatar Aug 10 '25 08:08 yuzegao