RocksLabs / kvrocks-operator

Apache License 2.0
36 stars 15 forks source link

Kvrocks Operator `Standard` mode release plan #13

Open jiayouxujin opened 1 year ago

jiayouxujin commented 1 year ago

Hi, all members and contributors of RocksLabs.

Below is my release plan for the Kvrocks Operator in standard mode:

  1. Upgrade the version of dependencies: Currently, the version of our dependencies, such as k8s, is v0.19.x. I suggest that we upgrade the version in this release.
  2. Improve testing: Since our project lacks unit tests and available e2e tests, it is essential to enhance the testing.
  3. Integrate native statefulset: The current code utilizes openkruise, but I recommend supporting native sts by default. The decision to introduce a new CRD should be left to the user.
  4. Use deployment for sentinel: The current code employs sts for sentinel, but I suggest using deployment instead. Simultaneously, there are numerous instances in the original code where sentinel and kvrocks client functions are mixed. We can take this opportunity to reasonably separate them for improved testing.
  5. Introduce monitoring
  6. Fix some bugs or enhance some features: Such as rename the crd

Note: These are relatively large features or plans, and they have not yet been broken down into smaller issues. After I improve the basic development process (such as enhancing e2e testing), I will try to break down the tasks for each part. Everyone is welcome to submit issues or pull requests.

jiayouxujin commented 1 year ago

cc @git-hulk @ColinChamber

git-hulk commented 1 year ago

Cool, looks good to me.

Upgrade the version of dependencies: Currently, the version of our dependencies, such as k8s, is v0.19.x. I suggest that we upgrade the version in this release.

Yes, it's better to keep up with the latest release.

tianshimoyi commented 1 year ago

@jiayouxujin

  1. The reason why openkruise's sts is used is to use the reserveOrdinals function. When shrinking, if the serial number of the master is high, use this function to skip the master node and go to the slave node.
jiayouxujin commented 1 year ago

@jiayouxujin

  1. The reason why openkruise's sts is used is to use the reserveOrdinals function. When shrinking, if the serial number of the master is high, use this function to skip the master node and go to the slave node.

Thank you @tianshimoyi , it is helpful. I will check that again.