Kubernetes Operator for Apache Cassandra Release Notes

The Kubernetes Operator for Apache Cassandra release notes provide information about the product’s features, prerequisites, changes per release, upgrade considerations, and limitations.

Kubernetes Operator for Apache Cassandra features

Kubernetes Operator for Apache Cassandra simplifies the process of deploying and managing Apache Cassandra® or DataStax Enterprise (DSE) in a Kubernetes cluster.

Kubernetes Operator for Apache Cassandra is available on its own or packaged with K8ssandra.

  • To install only the cass-operator, independent of K8ssandra, follow the kubectl commands in Getting Started with Kubernetes Operator for Apache Cassandra. This option gives you the choice of deploying supported Apache Cassandra or Datastax Enterprise (DSE) releases to your Kubernetes cluster.

  • To install only the cass-operator with K8ssandra, run the following commands:

    helm repo add k8ssandra https://helm.k8ssandra.io/stable
    
    helm install k8ssandra k8ssandra/k8ssandra --set cassandra.enabled=false --set reaper.enabled=false --set reaper-operator.enabled=false --set stargate.enabled=false --set kube-prometheus-stack.enabled=false
  • To install all the K8ssandra components, including cass-operator, Cassandra, Medusa, Reaper, and more, see the K8ssandra install topics.

Kubernetes Operator for Apache Cassandra features include:

  • Support for Apache Cassandra 3.11.7

  • Support for DSE 6.8.4

  • Support for the following Kubernetes platforms:

    • Microsoft Azure Kubernetes Service (AKS)

    • DigitalOcean Kubernetes (DOKS)

    • Amazon Elastic Kubernetes Service (EKS)

    • Google Kubernetes Engine (GKE)

    • Open-source Kubernetes

    • Pivotal Container Service (PKS)

    Kubernetes v1.21 or later is recommended and supported. For the supported manifests and examples, refer to the sample YAML file in this GitHub folder.

  • Hosted CassandraDatacenter examples. The YAML files help you become operational quickly with Cassandra or DSE in Kubernetes. For the CassandraDatacenter details, see these examples:

  • Self-orchestration for your Cassandra or DSE resources as a result of operating in Kubernetes.

  • Proper token ring initialization, with only one node bootstrapping at a time.

  • Seed node management - one per rack or three per datacenter, whichever is more.

  • Server configuration integrated into the CassandraDatacenter CustomResourceDefinition (CRD).

  • Rolling reboot nodes by changing the CRD.

  • Store data in a rack-safe way; one replica per cloud AZ.

  • Scale racks up or down.

  • Configuration option to force rack upgrades if a pod hosted by a rack does not start.

  • Replace dead or unrecoverable nodes.

  • Multi-DC clusters (limited to one Kubernetes namespace).

Kubernetes Operator for Apache Cassandra prerequisites

  • The kubectl CLI tool.

  • A Kubernetes cluster.

    If you have not already, Create a Kubernetes cluster.

    Kubernetes v1.21 or later is recommended and supported. For a sample manifest YAML, refer to this GitHub folder.

  • The ability to download Docker Hub images from within the Kubernetes cluster.

  • At least one Kubernetes worker node per Cassandra or DSE instance.

Kubernetes Operator for Apache Cassandra v1.7.1 changes

Release date: 26 May 2021

Ongoing development of Kubernetes Operator for Apache Cassandra and subsequent releases have been migrated to the K8ssandra project. See the GitHub k8ssandra/cass-operator repo for more information on using Kubernetes Operator for Apache Cassandra.

For source updates in GitHub, see also the Kubernetes Operator for Apache Cassandra v1.7.1 changelog.

Changes:

  • Fix upgrade of StatefulSet, do not change service name #103.

  • Code and documentation examples updated with /1.7.1/ paths #106.

Kubernetes Operator for Apache Cassandra v1.7.0 changes

Release date: 07 May 2021

Ongoing development of Kubernetes Operator for Apache Cassandra and subsequent releases have been migrated to the K8ssandra project. See the GitHub k8ssandra/cass-operator repo for more information on using Kubernetes Operator for Apache Cassandra.

For source updates in GitHub, see also the Kubernetes Operator for Apache Cassandra v1.7.0 changelog.

Changes:

Features:

  • Provide server configuration with a secret #13.

  • Override PodSecurityContext #14.

  • Allow DNS lookup by pod name #18.

  • Upgrade to Cassandra 4.0-RC1 #27.

  • Make tolerations configurable #28.

  • Use hostnames and DNS lookups for AdditionalSeeds #232 in prior repo.

  • Add custom labels and annotations for services #293 in prior repo.

Enhancements:

  • Replace system-logger with a custom built image, enabling faster shutdown #1.

  • Add CreateKeyspace and AlterKeyspace functions to httphelper #7.

  • Only build images once during integration tests #16.

  • Include max_direct_memory in examples #20.

Kubernetes Operator for Apache Cassandra v1.6.0 changes

Release date: 25 February 2021

For source updates in GitHub, see also the Kubernetes Operator for Apache Cassandra v1.6.0 changelog.

Features:

  • Upgrade to Go 1.14 #347.

  • Add support for specifying additional PersistentVolumeClaims #327.

  • Add support for specify rack labels #292.

Bug fixes:

  • Retry decommission to prevent cluster from getting stuck in decommission state. #356.

  • Set explicit tag for busybox image #339.

  • Incorrect volume mounts are created when adding an init container with volume mounts #309.

Docs/tests:

Kubernetes Operator for Apache Cassandra v1.5.1 changes

Release date: 21 January 2021

For source updates in GitHub, see also the Kubernetes Operator for Apache Cassandra v1.5.1 changelog.

Features:

  • Fixed reconciling logic in VMware k8s environments #361. #342.

  • Retry decommission if worker nodes are too slow to start it. #356.

  • In addition to existing support for Apache Cassandra 3.11.7, added support in Kubernetes Operator for Apache Cassandra 1.5.1 for Apache Cassandra 3.11.8 and 3.11.9 through the management-api images.

    When configuring the serverImage setting as 3.11.7, you could simply specify that string in the CassandraDatacenter spec. However, with later Cassandra 3.11.x point releases, you must fully qualify the image in the CassandraDatacenter spec. For example, you can specify one of the following:

    • serverImage: datastax/cassandra-mgmtapi-3_11_8:v0.1.22

    • serverImage: datastax/cassandra-mgmtapi-3_11_9:v0.1.23

    Check the DataStax Docker Hub server images for the latest build numbers (such as v0.1.23), per release.

    The management-api images that have the v0.1.22 or v0.1.23 tag are built to run Cassandra as non-root. By default, Kubernetes Operator for Apache Cassandra assumes Cassandra is run as root. For this reason, you should also specify dockerImageRunsAsCassandra: true in the CassandraDatacenter spec. When that Boolean value is set to true, cass-operator adds a PodSecurityContext to explicitly configure the Cassandra pod to run as non-root user/group.

Kubernetes Operator for Apache Cassandra v1.5.0 changes

Release date: 20 November 2020

For source updates in GitHub, see also the Kubernetes Operator for Apache Cassandra v1.5.0 changelog.

Features:

  • Allow configuration of the system.log tail-er [#311].

  • Update Kubernetes support to cover 1.15 to 1.19 [#296 and #304].

  • Specify more named ports for advanced workloads, and additional ports for ClusterIP service [#289 and #291].

  • Support WATCH_NAMESPACE=* to watch all namespaces [#286]. Support arbitrary Cassandra and DSE versions, using a regex for validation [#271].

  • Support running cassandra as a non-root cassandra user [#275].

  • Always gracefully drain Cassandra nodes before pod termination, and make terminationGracePeriodSeconds configurable [#269].

  • Add canaryUpgradeCount to support canary upgrade of a single node [#258].

  • Support merging all user customizations into the Cassandra podTemplateSpec [#263].

  • Add DSE 6.8.4 support [#257].

  • Add arm64 support [#238].

  • Support safely scaling down a datacenter, decommissioning Cassandra nodes [#242 and #265].

  • Add support to override the default registry for all container images [#228].

  • Better helm chart support for branch / master builds on private Docker registries [#236].

  • Support for specific reconciliation logic in VMware k8s environments [#203, #204, #206, #224, #259, #288].

Bug fixes:

  • Increase default init container CPU for better startup performance [#261].

  • Re-enable the most common quiet period [#253].

  • Added label to all-pods service to narrow metrics scrape selection [#277].

Docs/tests:

  • Add test for infinite reconcile [#220].

  • Added keys from datastax/charts and updated README [#221].

  • Support integration tests with k3d v3 [#248].

  • Default to KIND for integration tests [#252].

  • Run OSS/DSE integration smoke tests in github workflow [#267].

Kubernetes Operator for Apache Cassandra limitations

  • This release of Kubernetes Operator for Apache Cassandra is compatible only with specific Cassandra and DSE docker images that are hosted in the DataStax Docker Hub repository.

  • Kubernetes Operator for Apache Cassandra supports cassandra workloads of Apache Cassandra and DSE. Kubernetes Operator for Apache Cassandra provides experimental support for DSE Advanced Workloads such as analytics, graph, and search.

  • There is no facility for multi-region Cassandra or DSE clusters. Kubernetes Operator for Apache Cassandra functions within the context of a single Kubernetes cluster, which typically also implies a single geographic region.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com