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.