Free audit

View Audit Scope

Cassandra on Kubernetes

Cassandra onKubernetes

In short: Running Cassandra on Kubernetes means an operator manages the cluster for you. Pick K8ssandra, which bundles Cass Operator, Reaper, Medusa, and Prometheus. Or run the lighter Cass Operator on its own. The operator runs CassandraDatacenter resources as StatefulSets, each pod backed by its own PersistentVolumeClaim. It adds rack-aware placement and multi-datacenter peering for HA. On the K8ssandra bundle, Reaper and Medusa add automated repairs and backups.

Deploy and operate Apache Cassandra on Kubernetes with K8ssandra and Cass Operator. You get cloud-native distributed database clusters with automated repairs, backups, and multi-datacenter scalability.

Executive Direct Answer · Cassandra on Kubernetes in Production

JusDB architects enterprise Cassandra on Kubernetes deployments leveraging K8ssandra and Cass-operator. Our DBREs configure multi-rack zone awareness, dedicated NVMe PersistentVolumes, automated Reaper anti-entropy repairs, and Medusa backup schedules, designed for horizontal scalability and high write throughput, with incident response at agreed initial-response targets.

Response targets: per agreement·Topology: Multi-AZ K8ssandra·Storage: Local NVMe PersistentVolumes·Toolchain: Reaper & Medusa Integrated·ISO 27001 & SOC 2 Type II: aligned, certification in progress
Multi-DC
Topology
Linear Scaling
Horizontal
Rolling
Operations

Comprehensive Cassandra on Kubernetes Services

We handle Cassandra on Kubernetes end to end. That covers operator deployment through multi-DC cluster management for production-grade distributed databases.

K8ssandra / Cass Operator Deployment

Deploy and configure Kubernetes operators for automated Cassandra lifecycle management

  • K8ssandra operator installation and setup
  • Cass Operator CRD configuration
  • CassandraDatacenter resource management
  • Operator upgrade and version management

Helm Chart Management

Production-ready Helm chart configuration for repeatable and version-controlled deployments

  • K8ssandra Helm chart customization
  • Values file management and templating
  • Chart versioning and rollback strategies
  • GitOps integration with ArgoCD/Flux

Multi-DC Clusters on K8s

Multi-datacenter Cassandra deployments spanning Kubernetes clusters for geo-distribution

  • Cross-cluster networking and peering
  • Multi-DC seed node configuration
  • Rack-aware and zone-aware placement
  • K8ssandra multi-cluster control plane

Storage & Persistence

High-performance storage configuration with local SSDs, PVCs, and optimized storage classes

  • PersistentVolumeClaim (PVC) setup
  • Local SSD and NVMe provisioning
  • Storage class configuration and tuning
  • Volume expansion and migration strategies

Monitoring (Reaper, Medusa, Prometheus)

Full observability stack with automated repairs, metrics collection, and alerting dashboards

  • Reaper anti-entropy repair scheduling
  • Prometheus metrics and alerting rules
  • Grafana dashboard provisioning
  • Cassandra metrics collector agent setup

Backup & DR (Medusa, S3)

Automated backup pipelines with Medusa to S3/GCS/Azure Blob for disaster recovery

  • Medusa backup configuration and scheduling
  • S3/GCS/Azure Blob storage integration
  • Point-in-time and full restore procedures
  • Cross-datacenter backup replication

Kubernetes Operators for Cassandra

Pick the Kubernetes operator that fits your Cassandra deployment. The choice comes down to your operational requirements and toolchain preferences.

Recommended for Production

K8ssandra

Full-stack Cassandra platform for Kubernetes

Built on Cass Operator (includes it)
Reaper for automated anti-entropy repairs
Medusa for backup and restore to S3/GCS
Stargate for REST, GraphQL, and gRPC APIs
Prometheus + Grafana monitoring stack
Multi-cluster control plane support
Helm chart with comprehensive defaults
Active open-source community
Best for: Full-featured production deployments
Lightweight Option

Cass Operator (DataStax)

Focused Cassandra lifecycle management on K8s

CassandraDatacenter CRD management
StatefulSet orchestration and scaling
Rolling restart and upgrade automation
Rack-aware pod placement and scheduling
Node replace and decommission operations
Configuration management via ConfigMaps
DSE and OSS Cassandra support
Foundation for K8ssandra stack
Best for: Minimal operator footprint, BYO tooling

Why Run Cassandra on Kubernetes?

Managing distributed Cassandra clusters is complex work. Kubernetes operators automate much of that work, so you can run cloud-native operations at scale.

Automated Lifecycle Management

Kubernetes operators handle Cassandra node provisioning, scaling, rolling upgrades, and decommissioning automatically. Declare your desired state and the operator converges the cluster.

Infrastructure as Code

Define entire Cassandra topologies in YAML manifests. Version control your cluster configuration and enable GitOps workflows. Reproduce environments consistently across dev, staging, and production.

Self-Healing and Resilience

Kubernetes restarts failed Cassandra pods automatically and reschedules them to healthy nodes. The operator then handles node replacement and data streaming to maintain the replication factor.

Multi-Cloud and Hybrid Deployments

Run Cassandra datacenters across AWS, GCP, Azure, and on-premises Kubernetes clusters. Pair multi-DC replication with rack-aware placement for data locality and disaster recovery.

Cassandra on K8s Key Capabilities

Scaling(Add pods on demand)
Horizontal
Upgrades(One pod at a time)
Rolling
Repairs(Reaper scheduling)
Automated
Backups(S3/GCS/Azure Blob)
Medusa
Monitoring(Metrics + Grafana)
Prometheus
Multi-DC(Cross-cluster peering)
Supported

Our Cassandra on Kubernetes Implementation Process

We follow a tested method for deploying production-ready Cassandra clusters on Kubernetes. It covers comprehensive testing and operational readiness.

01

Platform Assessment

Evaluate Kubernetes cluster capacity, storage options, networking topology, and workload requirements. Select the appropriate operator (K8ssandra or Cass Operator) and design the datacenter layout.

02

Operator & Cluster Deployment

Install the operator via Helm and configure CassandraDatacenter CRDs. Then set up storage classes, resource limits, rack-aware placement, and JVM tuning for optimal Cassandra performance on K8s.

03

Toolchain Integration

Deploy Reaper for repairs, Medusa for backups to S3/GCS, and Prometheus with Grafana for monitoring. Then configure alerting rules for cluster health, latency, and compaction metrics.

04

Production Hardening

Run failure injection testing and validate backup/restore procedures. Configure network policies and RBAC, then establish runbooks. We hand off with training and ongoing operational support.

How JusDB Cassandra Kubernetes Architecture compares to alternative models.

Generic Kubernetes administrators and legacy outsourced agencies lack deep K8ssandra and Cass-operator automation, NVMe commitlog isolation, and automated Reaper anti-entropy repair management. Here is how our DBREs compare:

Architecture Vector JusDB DBREIn-House DBALegacy AgencyDev Generalist
K8ssandra Operator vs Cass-operator Architecture SelectionArchitects enterprise cloud-native Cassandra utilizing K8ssandra Operator and Cass-operator with declarative CassandraDatacenter CRDs, automated Medusa backups, Reaper repairs, and Stargate APIs.Deploys manual StatefulSets or deprecated community Helm charts lacking Cassandra gossip awareness, leading to token ring corruption and orphaned pods during upgrades.Installs static containerized Cassandra nodes with no Kubernetes operator automation, requiring manual SSH intervention during node failures.Treats Cassandra like a generic stateless microservice, missing custom resource controllers, readiness gates, and lifecycle preStop hooks.
Multi-Rack Failure Domain Mapping & Pod Anti-AffinityMaps Cassandra logical racks directly to Kubernetes node topology failure zones (topology.kubernetes.io/zone), enforcing hard anti-affinity so no two replicas share a node or zone.Configures basic soft pod anti-affinity without aligning Cassandra rack topology, causing multiple token replicas to land on the same physical worker node or failure domain.Deploys all cluster pods into a single cloud availability zone to simplify networking, exposing the entire database estate to catastrophic regional outage.Relies on default Kubernetes scheduler round-robin placement without rack awareness, triggering quorum loss when a single physical host crashes.
Local NVMe PersistentVolume StorageClasses & XFS TuningProvisions dedicated local NVMe persistent volumes formatted with XFS and Direct I/O mount options, isolating commitlog and data directories for sub-5ms write latencies.Attaches generic cloud network block storage (standard gp3/ebs) with high I/O latency, causing write queue saturation and dropped mutation storms.Shares host root filesystems across container workloads without I/O throttling, leading to disk full lockouts and crashed Cassandra daemons.Uses dynamic volume provisioners without disk volume expansion plans or IOPS reservations, causing database freezes during peak compaction cycles.
Automated Anti-Entropy Repair (Cassandra Reaper on K8s)Deploys and manages Cassandra Reaper operator custom resources, automating segment-by-segment incremental repair schedules with adaptive throttle controls to eliminate data drift.Executes manual full nodetool repair commands via kubectl exec, saturating cluster network and disk bandwidth during peak business hours.Skips regular anti-entropy repairs entirely until application queries report read consistency exceptions and deleted tombstone resurrections.Configures basic cron jobs that run nodetool repair without segment tracking, failing silently and leaving replicas desynchronized.
Medusa Object Store Backup & Point-in-Time RestoreIntegrates Medusa backup operator streaming encrypted SSTable snapshots directly to cloud object stores (S3/GCS) with automated point-in-time restore (PITR) sandbox drills.Takes ad-hoc node-level volume snapshots without coordinating flush operations or validating token ring consistency, resulting in unrecoverable backups.Relies on external VM-level file backups that cannot handle open SSTable files, corrupting backup archives.Lacks disaster recovery automation; attempts manual rsync copies of data directories that fail during active node mutations.
Zero-Downtime Rolling Stateful Pod UpgradesOrchestrates partition-aware rolling pod upgrades with nodetool drain preStop hooks, automated gossip stability verification, and zero client read/write errors.Deletes pods sequentially with kubectl delete pod without draining traffic, causing transient client connection drops and dropped mutation timeouts.Demands wide maintenance windows with application downtime to restart all Cassandra nodes simultaneously.Applies Kubernetes StatefulSet rolling update with default timeout budgets, terminating pods while active SSTable compactions are in flight.

Critical Cassandra K8s Outage Modes We Eliminate

Running distributed ring-topology databases in cloud Kubernetes introduces acute availability risks during automated node drains, shared volume I/O saturation, and unmanaged tombstone accumulation. Our DBREs resolve these breakdown modes:

P1 Critical

Node Drain Eviction Causing Token Ring Quorum Loss

Automated Kubernetes cluster upgrades or worker node autoscaling drain multiple Cassandra pods concurrently. Without strict disruption budgets, the token ring loses quorum (>50% partition replicas offline), triggering read/write client timeouts.

JusDB Engineering Mitigation:

JusDB deploys custom PodDisruptionBudgets (maxUnavailable=1) combined with Cass-operator lifecycle preStop hooks that gracefully decommission nodes and verify token ring health before pod termination.

P1 Critical

Commitlog and SSTable Disk Contention on Shared Volumes

Deploying Cassandra with commitlog and data directories on the same shared cloud persistent disk creates severe I/O head contention between sequential commitlog appends and random read/compaction I/O, causing mutation drops.

JusDB Engineering Mitigation:

JusDB provisions dual isolated NVMe PersistentVolumeClaims via K8ssandra CRDs, separating commitlog and data volumes onto dedicated high-IOPS local NVMe block storage.

P2 High

Accumulated Tombstones Causing JVM Garbage Collection Pauses

Missing automated anti-entropy repairs on containerized Cassandra pods allows tombstone buildup across SSTables, resulting in catastrophic stop-the-world JVM GC pauses (10s+) and dropped gossip heartbeats.

JusDB Engineering Mitigation:

JusDB deploys and tunes Cassandra Reaper on Kubernetes to execute automated sub-range incremental repairs, tuning gc_grace_seconds and compaction throughput limits to prevent GC latency spikes.

Telemetry Runbooks · Non-Blocking Cassandra Kubernetes Diagnostics

Our Kubernetes DBREs execute non-blocking CLI telemetry inspections to evaluate operator reconciliation states, pod ring membership, and gossip cluster communication:

Kubernetes: CassandraDatacenter CRD & Pod Topology Status
kubectl
// Check K8ssandra/Cass-operator datacenter reconciliation and multi-rack pod distribution
# 1. Inspect CassandraDatacenter status and rack readiness kubectl get cassandradatacenter,pods -n k8ssandra -o wide # 2. Verify PodDisruptionBudgets and multi-zone rack anti-affinity labels kubectl get pdb,nodes -n k8ssandra -l app.kubernetes.io/name=cassandra # 3. Check operator events for PersistentVolume detachment or restart warnings kubectl describe cassandradatacenter -n k8ssandra | grep -A 10 "Events:"
In-Cluster Telemetry: Nodetool Ring Status & Gossip Health
nodetool
// Validate live ring state, load distribution, and gossip heartbeat status across pods
# 1. Execute non-blocking ring status check across all Cassandra pods kubectl exec -it k8ssandra-dc1-default-sts-0 -n k8ssandra -c cassandra -- nodetool status # 2. Verify gossip generation timestamps and inter-pod cluster communication kubectl exec -it k8ssandra-dc1-default-sts-0 -n k8ssandra -c cassandra -- nodetool gossipinfo # 3. Check table compaction status and active SSTable read/write throughput kubectl exec -it k8ssandra-dc1-default-sts-0 -n k8ssandra -c cassandra -- nodetool compactionstats

Cassandra on Kubernetes — Frequently Asked Questions

Common questions about running Cassandra on Kubernetes with operators, storage, monitoring, and backups.

The two leading operators are K8ssandra and Cass Operator (by DataStax). K8ssandra is a full-stack option that bundles Cass Operator with Reaper for repairs and Medusa for backups. It also adds Stargate for APIs and Prometheus/Grafana for monitoring. Cass Operator is lighter-weight and focuses on lifecycle management of CassandraDatacenter resources. For most production deployments, K8ssandra is recommended. Its operational toolchain works out of the box.

Cassandra on Kubernetes uses PersistentVolumeClaims (PVCs) attached to each pod in a StatefulSet. For optimal performance, use local SSDs or high-IOPS cloud disks such as gp3 or pd-ssd. The operator manages volume binding. Data survives pod restarts because PVCs are not deleted when pods are rescheduled. Set storage classes to volumeBindingMode: WaitForFirstConsumer so volumes land in the same zone as the pod.

Yes. Both K8ssandra and Cass Operator support multi-datacenter deployments across Kubernetes clusters. Deploy separate CassandraDatacenter resources in different Kubernetes clusters, then configure them to peer with each other. This requires network connectivity between clusters, via VPN, peering, or a multi-cluster service mesh. It also requires proper seed node configuration. K8ssandra provides built-in multi-cluster support through its control plane.

Medusa is the standard backup tool for Cassandra on Kubernetes, and K8ssandra integrates it. It takes snapshot-based backups of SSTables. It then uploads them to object storage such as S3, GCS, or Azure Blob. Schedule backups with CronJobs, or trigger them on demand through CRDs. Medusa also supports full and differential backups, point-in-time restores, and cross-datacenter backup replication for disaster recovery.

K8ssandra bundles Prometheus metrics collection, Grafana dashboards, and Reaper for anti-entropy repairs. Reaper automates Cassandra repair scheduling to prevent data inconsistencies from read repair and tombstone accumulation. The Cassandra metrics collector agent exports the metrics. Pre-built Grafana dashboards then show cluster health, latency percentiles, compaction, and garbage collection.

For production Cassandra on Kubernetes, each pod typically requires 4-8 CPU cores and 16-32 GB of RAM, with heap set to 8-16 GB. Fast local storage matters too, typically 500 GB+ SSD per node. The operator and monitoring stack add approximately 2 CPU cores and 4 GB RAM. A minimum of 3 Cassandra pods per datacenter is recommended for fault tolerance. Set resource requests and limits carefully to avoid noisy-neighbor issues on shared clusters.

Ready to Run Cassandra on Kubernetes?

Let our experts deploy and operate production-grade Cassandra clusters on Kubernetes, with automated repairs, backups, monitoring, and multi-datacenter scalability.

Explore all Cassandra services

Need a different Cassandra service? Browse our complete offerings.