Getting Started

Kick the tires and take it for a spin!

Welcome to K8ssandra! This guide gets you up and running with a single-node Apache Cassandra® cluster on Kubernetes. If you are interested in a more detailed component walkthroughs check out the topics section.


In your local environment the following tools are required for provisioning a K8ssandra cluster.

As K8ssandra deploys on a Kubernetes cluster one must be available to target for installation. This may be a local version running on your development machine, on-premises self-hosted environment, or managed cloud offering. To that end the cluster must be up and available to your kubectl command.

# Validate cluster connectivity
kubectl cluster-info

If you do not have a Kubernetes cluster available consider one of the following local versions that run within Docker or a virtual machine.

Configure Helm Repository

K8ssandra is delivered as a collection of Helm Charts. In order to leverage these charts we have provided a k8ssandra Helm Repository for easy installation.

Also add the Traefik Ingress repo - you’ll need its resources to access services from outside the Kubernetes cluster.

helm repo add k8ssandra
helm repo add traefik
helm repo update

Alternatively, you may download the individual charts directly from the project’s releases page.

Install K8ssandra

From a packaging perspective, K8ssandra is composed of a number of helm charts. The k8ssandra-tools chart handles the installation of operators and custom resources. The k8ssandra-cluster chart (which you can uniquely name) is focused on provisioning cluster instances. This loose coupling allows for separate lifecycles of components with an easy procedure - submitting just two helm install commands.

# Install shared dependencies / tooling
helm install k8ssandra-tools k8ssandra/k8ssandra

# Provision a K8ssandra cluster named "k8ssandra-cluster-a" 
helm install k8ssandra-cluster-a k8ssandra/k8ssandra-cluster  

In later steps, you can upgrade your k8ssandra-cluster via helm upgrade commands, for example to access services from outside Kubernetes via a Traefik Ingress controller.