FeatherCast

The voice of The Apache Software Foundation

Running C* on Kubernetes with CassKop, the C* operator for K8S developed by Orange Jean Armel Luce Sebastien Allamand

September 13, 2019
timothyarthur

This presentation will describe the initial experience building and using CassKop, an operator developed for running Cassandra on top of Kubernetes. 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.nAmong the main features :n- deploying a rack aware cluster (or AZ aware cluster)n- scaling up & down (including cleanups)n- setting and modifying configuration parameters (C* and JVM parameters)n- adding / removing a datacenter in Cassandran- rebuilding nodesn- removing node or replacing node (in case of hardware failure)n- upgrading C* or Java versions (including upgradesstables)n- monitoring (using Prometheus/Grafana)n- … 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, cassandra-reaper is deployed in K8S and used for scheduling repair sessions (Thanks to Spotify and TheLastPickle teams)nThe Cassandra exporter for Prometheus and backup/restore developed by Instaclustr are also used (Thanks to Instaclustr team) During this session, we will delve into the architecture and implementation of this operator, and share our learnings.

Leave a Reply

Powered by WordPress.com.
%d bloggers like this: