Hi folks, We are excited to announce that CassKop, a Cassandra operator for Kubernetes developped by Orange teams, is now ready for Beta testing.
CassKop works as a usual K8S controller (reconcile the real state with a desired state) and automates the Cassandra operations through JMX. All the operations are launched by calling standard K8S APIs (kubectl apply …) or by using a K8S plugin (kubectl casskop …). CassKop is developed in GO, based on CoreOS operator-sdk framework. Main features already available : - deploying a rack aware cluster (or AZ aware cluster) - scaling up & down (including cleanups) - setting and modifying configuration parameters (C* and JVM parameters) - adding / removing a datacenter in Cassandra (all datacenters must be in the same region) - rebuilding nodes - removing node or replacing node (in case of hardware failure) - upgrading C* or Java versions (including upgradesstables) - monitoring (using Prometheus/Grafana) - ... By using local and persistent volumes, it is possible to handle failures or stop/start nodes for maintenance operations with no transfer of data between nodes. Moreover, we can deploy cassandra-reaper in K8S and use it for scheduling repair sessions. For now, we can deploy a C* cluster only as a mono-region cluster. We will work during the next weeks to be able to deploy a C* cluster as a multi regions cluster. Still in the roadmap : - Network encryption - Monitoring (exporting logs and metrics) - backup & restore - multi-regions support We'd be interested to hear you try this and let us know what you think! Please read the description and installation instructions on https://github.com/Orange-OpenSource/cassandra-k8s-operator. For a quick start, you can also follow this step by step guide : https://orange-opensource.github.io/cassandra-k8s-operator/index.html?slides=Slides-CassKop-demo.md#1 The CassKop Team