Back in December, we previewed the in-progress K8ssandra Operator project as the next generation of the K8ssandra project, bringing multi-cluster support with it.  We’re now, just a few months later, very happy to announce the general availability of the project!

Since that K8ssandra Operator alpha milestone late last year, the team has been hard at work adding swaths of additional functionality and hardening the project. When we hit that initial milestone, the operator was capable only of deploying and managing the base Apache Cassandra cluster across Kubernetes clusters. While that alone was a significant achievement, we say “only” because even then we had (and still have) a larger vision for what we wanted to accomplish with this project. So, let’s take a look at what the operator is capable of now through this initial general release. 

K8ssandra Operator vs. K8ssandra v1

Strictly speaking, K8ssandra Operator is a generational improvement over helm charts that made K8ssandra v1 possible. Rather, the K8ssandra Operator project represents a new, fully distributed K8ssandra experience in more alignment with the globally geographic Cassandra deployments. To that end, the general goal for the operator project was to maintain feature parity with K8ssandra v1 while building upon those with the ability to manage deployments across multiple Kubernetes clusters.

To learn more about how K8ssandra Operator works across Kubernetes clusters, making multi-region easier to manage, check out the “Deployment architecture” section of our preview post. 

So what’s new?

In a few words…a lot!  After the initial milestone, the team has been layering in functionality building towards parity with what K8ssandra v1 provided: backup and restore via Medusa, repair operations via Reaper, data gateway APIs with Stargate, and observability via Prometheus and Grafana.

While the implementation of how we deliver these capabilities has changed with K8ssandra Operator, all of these core functions continue to be available.

In addition to these core capabilities, K8ssandra Operator also delivers a number of new features that highlight the need for active orchestration beyond the bounds of a single Kubernetes deployment – and which we believe make K8ssandra Operator the clear choice for a tool to operate Cassandra deployments on Kubernetes:

  • Datacenter operations – Broad datacenter operations such as the addition and decommissioning of datacenters from a cluster are now safely handled from a centralized point by the operator. The management of critical system keyspaces is also now automated by the operator as a cluster grows or shrinks in size. Other aspects such as seed and secret management are handled automatically across datacenters.
  • Consolidated status – The status of the new K8ssandraCluster custom resource can be checked from the control plane to gather status and state information from across datacenters and Kubernetes clusters.
  • Enhanced configuration – The configuration of the underlying Cassandra cluster can now be highly customized and controlled directly from the K8ssandraCluster resource.
  • Security – The configuration of both internode and client encryption is supported to allow for a cluster to be easily deployed and managed in a security-hardened environment.
  • Stargate deployment best practices – Best practices recommend that the same Kubernetes node not be used to deploy both Stargate and Cassandra. The operator dictates a deployment to match that pattern by default.
  • Resource cleanup– Cleanup is managed for you across clusters when a K8ssandraCluster resource is deleted.

Moving forward

With this release, we’re focusing on active remediation and reconciliation of K8ssandra deployments and their resources. The biggest result being an even more tuned and turn-key experience for your operations teams. Existing users should look forward to migration for existing helm-based deployments. This new paradigm brings the latest state of the art with new functionality and resiliency at an even higher scale. 

Be on the lookout for additional guides discussing how you can achieve many different goals with the operator including migration and deploying in multi-region and multi-cloud provider environments.

We’re excited about this release and invite the entire community to try out the next generation of K8ssandra and to help us evolve and grow it going forward, together.

To get started, check out some of the more detailed information and installation instructions over at docs.k8ssandra.io.