[Feature] [SWCK] Add BanyanDB CRD & Controller
Search before asking
- [X] I had searched in the issues and found no similar feature requirement.
Description
BanyanDB is an observability database designed for observability platform and APM system, like Apache SkyWalking. I plan to add BanyanDB CRD and corresponding Controller into SWCK. It can enable SkyWalking users to directly deploy and use BanyanDB on Kubernetes. This issue mainly includes
- Design and implement the CRD for BanyanDB
- Design and implement Controller logic to reconcile BanyanDB on Kubernetes.
- Tests, Validations and Documentations.
Use case
No response
Related issues
No response
Are you willing to submit a PR?
- [X] Yes I am willing to submit a PR!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
@hanahmily Hi, I noticed that BanyanDB currently has a standalone structure. I wonder what's community's plan for BanyanDB to adopt a fault-tolerant, multi-replicas structure (using Raft or other algorithms). I'm facing two challenges when designing CRD & Controllers for BanyanDB in k8s, they are:
- If BanyanDB pod fails (network partition, worker node down), do we have to restart and wait for it to recover, or have other failovers like activating a slave backup?
- If users changes BanyanDB version and its docker image, can we rolling update BanyanDB while still providing normal service? Does BanyanDB support hot-update for its start-up configurations?
what's community's plan for BanyanDB to adopt a fault-tolerant, multi-replicas structure (using Raft or other algorithms).
Relevant feats are under discussion.
- If BanyanDB pod fails (network partition, worker node down), do we have to restart and wait for it to recover, or have other failovers like activating a slave backup?
BanyanDB will know nodes' roles. The operator doesn't take care of recovery. Restarting the pod is acceptable.
- If users changes BanyanDB version and its docker image, can we rolling update BanyanDB while still providing normal service? Does BanyanDB support hot-update for its start-up configurations?
The rolling update is a complicated topic. We don't have any discussions in the community. The operator could leave it as is now and refine the CRD once it's on our radar.