The Orange Cassandra operator is a Kubernetes operator to automate provisioning, management, autoscaling and operations of Apache Cassandra clusters deployed to K8s.
The CassKop Cassandra Kubernetes operator makes it easy to run Apache Cassandra on Kubernetes. Apache Cassandra is a popular, free, open-source, distributed wide column store, NoSQL database management system. The operator allows to easily create and manage racks and data centers aware Cassandra clusters.
Some of the high-level capabilities and objectives of Apache Cassandra include, and some of the main features of the Casskop are:
- Deployment of a C* cluster (rack or AZ aware)
- Graceful rolling update
- Graceful C* cluster scaling (with cleanup and decommission prior to Kubernetes scale down)
- Manage operations on pods through CassKop plugin (cleanup, rebuild, upgradesstable, removenode..)
- Performing live Cassandra repairs through the use of Cassandra reaper
- Multi-site management through Multi-Casskop operator
- Live Backup/Restore of Cassandra's datas
The Cassandra operator is based on the CoreOS operator-sdk tools and APIs.
CassKop creates/configures/manages Cassandra clusters atop Kubernetes and is by default space-scoped which means that :
- CassKop is able to manage X Cassandra clusters in one Kubernetes namespace.
- You need X instances of CassKop to manage Y Cassandra clusters in X different namespaces (1 instance of CassKop per namespace).
This adds security between namespaces with a better isolation, and less work for each operator.
We have some slides for a CassKop demo
You can also play with CassKop on Katacoda
There are already some approaches to operating C* on Kubernetes, however, we did not find them appropriate for use in a highly dynamic environment, nor capable of meeting our needs.
Finally, our motivation is to build an open source solution and a community which drives the innovation and features of this operator.