Cassandra operator installation and lifecycle management
This domain tests the control loop: installing the operator and CRDs, declaring a CassandraDatacenter, and letting reconciliation own the StatefulSets, Services, and configuration.
Core rules
- The cass-operator watches
CassandraDatacenterresources and reconciles generated objects toward the declared state. - Install CRDs before the operator version that uses them; version skew is a common failure.
- The CR specifies
serverType,serverVersion,size,racks,storageConfig, resources, and Cassandra configuration. - Generated StatefulSets and Pods are not the source of truth; edits are overwritten on the next reconcile.
- Finalizers let the operator decommission nodes and clean up before a resource disappears.
Worked example
A CassandraDatacenter named cluster1 in namespace db declares size: 6 and three racks. The operator materializes rack-scoped StatefulSets with two replicas each, headless Services for peer discovery, and a client Service. If an administrator patches one generated StatefulSet to replicas: 3, reconciliation resets it to 2 because the CR still says six total. To add capacity, change size to 9; the operator creates one new node per rack, waits for readiness, and keeps seeds consistent.
Traps
- Installing the operator before matching CRDs.
- Deleting the
CassandraDatacenterand assuming all PVCs vanish. - Manually editing generated StatefulSets, ConfigMaps, or Services.
- Ignoring status conditions and proceeding while a rack is not ready.