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:
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.
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:
-
GitHub repository move from https://github.com/datastax/cass-operator to #1.
-
Reduce dependencies of apis/CassandraDatacenter #8.
-
Remove Reaper sidecar integration #12.
-
Remove internode_encryption_test #19.
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.
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.
Docs/tests:
-
Introduce integration with Go Report Card #346.
-
Add more examples for running integration tests #338.
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 theCassandraDatacenter
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 asnon-root
. By default, Kubernetes Operator for Apache Cassandra assumes Cassandra is run asroot
. For this reason, you should also specifydockerImageRunsAsCassandra: true
in theCassandraDatacenter
spec. When that Boolean value is set totrue
, cass-operator adds aPodSecurityContext
to explicitly configure the Cassandra pod to run asnon-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 changes in prior versions
See the changelog for each version:
-
Kubernetes Operator for Apache Cassandra v1.4.1 released 10 September 2020.
-
Kubernetes Operator for Apache Cassandra v1.4.0 released 24 August 2020.
-
Kubernetes Operator for Apache Cassandra v1.3.0 released 30 June 2020.
-
Kubernetes Operator for Apache Cassandra v1.2.0 released 29 May 2020.
-
Kubernetes Operator for Apache Cassandra v1.1.0 released 22 April 2020.
-
Kubernetes Operator for Apache Cassandra v1.0.0 released 27 March 2020.
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
, andsearch
. -
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.