Feature flags

The Kubernetes Operator for Apache Cassandra supports feature flags that you can set as annotations on the CassandraDatacenter object to control the behavior of the operator.

Experimental features

Set the following annotations on a CassandraDatacenter object to enable experimental features in the operator. These features are tested and safeguarded against accidental usage since they may have behave unexpectedly.

Parallel node starts

Set the cassandra.datastax.com/allow-parallel-starts annotation with the value true to allow the operator to start multiple server nodes at the same time if they have already bootstrapped. This happens before any other normal startup procedure takes place. This is useful to increase the startup speed of a stopped datacenter or a datacenter with downed nodes. This capability is disabled by default and only affects nodes if at least one seed node is available in the datacenter or externally.

This option is available in version v1.22.0 and later.

Storage modification

To prevent accidental data loss, the CassandraDatacenter StorageConfig cannot be modified for existing datacenters.

To enable the size of PersistentVolumeClaims of an existing datacenter to be increased, set the cassandra.datastax.com/allow-storage-changes annotation with the value true.

This option is available in version v1.22.0 and later.

Behavioral changes

Set the following annotations on a CassandraDatacenter object to control the behavior of the operator.

Skip superuser creation

By default, the Kubernetes Operator for Apache Cassandra creates a superuser to the Cassandra cluster, based on given or generated credentials.

To prevent any users, including the default superuser, from being created, add the annotation cassandra.datastax.com/skip-user-creation with the value true. This technique is useful when adding a new datacenter to an existing cluster with a superuser already created.

This option is available in version v1.10.0 and later.

Decommission nodes on datacenter delete

To decommission nodes before deleting a datacenter in a multi-datacenter configuration, set the annotation cassandra.datastax.com/decommission-on-delete with the value true on the CassandraDatacenter object. Use this approach to ensure data preservation when removing a datacenter from the cluster.

This option is available in version v1.10.0 and later.

Prevent finalizer addition

The Kubernetes Operator for Apache Cassandra automatically adds a finalizer to the CassandraDatacenter object. This finalizer prevents the object from being deleted until it completes its task of deleting the associated PersistentVolumeClaims during the deletion process.

Set the cassandra.datastax.com/no-finalizer annotation with the value true on the CassandraDatacenter so that, you can delete the finalizer. The Kubernetes Operator for Apache Cassandra does not add it back.

If you you set the cassandra.datastax.com/no-finalizer annotation, you must also remove the finalizer from the object.

This option is available in version v1.12.0 and later.

Do not create cleanup task after scaling up

After scaling up the cluster, Kubernetes Operator for Apache Cassandra creates a CassandraTask to run the cleanup process to remove unwanted data from nodes.

To manually schedule the cleanup process to run at a later time or have an external process take care of the cleanup, set the cassandra.datastax.com/no-cleanup annotation with the value true to the CassandraDatacenter object

This option is available in version v1.15.0 and later.

Allow StatefulSet Spec update after operator upgrade

By default, the operator does not update the StatefulSet Spec after an operator upgrade. After an upgrade, the operator might change the way it creates the StatefulSet and push these updates to the running cluster. Changes could include updated images for CVEs or fixes for other bugs. The downside is that this creates a rolling restart for the cluster. The operator marks the CassandraDatacenter with a condition RequiresUpdate: True if the StatefulSet Spec needs to be updated.

To allow the operator to update the StatefulSet Spec without other changes to the CassandraDatacenter’s Spec, add the cassandra.datastax.com/autoupdate-spec annotation with the value once. This annotation must be removed after the changes have been applied. Set the value to always to allow the operator to always update the StatefulSet Spec after an operator upgrade.

This option is available in version v1.20.0 and later.

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