Skip to main content

Introduction

The Orange Cassandra operator is a Kubernetes operator to automate provisioning, management, autoscaling and operations of Apache Cassandra clusters deployed to K8s.

Overview

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).
info

This adds security between namespaces with a better isolation, and less work for each operator.

Presentation

We have some slides for a CassKop demo

You can also play with CassKop on Katacoda

Motivation

At Orange we are building some Kubernetes operator, that operate NiFi, Galera and Cassandra clusters (among other types) for our business cases.

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.