Awesome
Cell Operator
Cell Operator manages elasticell clusters on Kubernetes and automates tasks which is corresponding to operate a Cell cluster, such as deploy, provision, scale, upgrade. It makes elasticell a truly cloud-native distributed data store.
Caveat: Currently, Cell-Operator must be used under some constraints, we will fix it in the future:
PD's replica nums can't be changed after cluster deploy.
Only scale-out is supproted by store, but scale-in.
Rolling upgrade proxy is safely and will not interupt online service. However, the upgrade of store and pd may cause some read/write out of time because of raft learship change.
Only one cell-cluster can be deployed into a k8s namespace.
Features
- Atuomtic deployment wiht Kubernetes package manager Helm
helm install cell-operator --name=cell-operator --namespace=cell-admin
helm install ./cell-cluster -n cell --namespace=cell
kubectl -n cell get all:
-
Safely scaling the Cell cluster
Cell Operator empowers elasticell with horizontal scalability on the cloud.
Now cell's scalabily is under some constraints:
1. PD can't scale after cell cluster initialize. 2. Store can only scale out but scale in. 3. Proxy can scale out or scale in.
-
Rolling upgrade the Cell cluster
You can roll upgrade Pd/Proxy online. You can upgrade Store when there is no IO through put.
-
Kubernetes package manager support
By embracing Kubernetes package manager Helm, users can easily deploy Elasticell clusters with only one command.
If you are already familiar with Kubernetes, the following docs can be helpful for managing Cell clusters with Cell Operator
Acknowledgments
- Thanks tidb-operator for providing various member manager method.