/scylla-operator

Kubernetes operator for Scylla

Primary LanguageGoApache License 2.0Apache-2.0

Scylla Operator

Kubernetes Operator for Scylla (Pre-release version ⚠️)

Scylla is a close-to-the-hardware rewrite of Cassandra in C++. It features a shared nothing architecture that enables true linear scaling and major hardware optimizations that achieve ultra-low latencies and extreme throughput. It is a drop-in replacement for Cassandra and uses the same interfaces.

Quickstart

To quickly deploy a Scylla cluster, choose one of the following options:

  • Minikube: super quick and easy way to get started with the Scylla operator.
  • GKE: advanced guide for deploying Scylla with the best performance settings.
  • Generic: your platform isn't included? Follow this guide!

Description

The scylla-operator is a Kubernetes operator for managing scylla clusters. Currently it supports:

  • Deploying multi-zone clusters
  • Scaling up or adding new racks
  • Scaling down
  • Monitoring with Prometheus and Grafana

Future additions include:

Top-Performance Setup

Scylla performs the best when it has fast disks and direct access to the cpu. To deploy Scylla with maximum performance, follow the guide for your environment:

Bugs

If you find a bug or need help running scylla, you can reach out in the following ways:

  • #kubernetes channel on Slack.
  • File an issue describing the problem and how to reproduce.

Building the project

You can easily build Scylla Operator in your environment:

  • Open the Makefile and change the IMG environment variable to a repository you have access to.
  • Run make publish and wait for the image to be built and uploaded in your repo.

Contributing

We would love for you to contribute to Scylla Operator, help make it even better and learn together! Use these resources to help you get started:

Acknowledgements

This project is based on cassandra operator, a community effort started by yanniszark of Arrikto, as part of the Rook project.