The module lifecycle stage: Preview
The module has requirements for installation
Cassandra
A namespaced resource that allows creating the final configuration and serves as the source of truth for the state of a specific deployed cassandra service.
CassandraClassName
The name of the class that will be associated with a specific resource.
Without a created CassandraClass, deploying the service is impossible.
spec:
cassandraClassName: defaultInstance
A section that describes the resources of the service being created.
Must pass validation according to the sizingPolicy of the corresponding class:
spec:
instance:
memory:
size: 4Gi
cpu:
cores: 1
coreFraction: 50%
persistentVolumeClaim:
size: 8Gi
storageClassName: defaultSupported Cassandra Versions
The only supported Cassandra version is 5.0.7
Our images for running Cassandra containers are based on distroless architecture.
Status
The status of the Managed Cassandra service is reflected in the Cassandra resource.
The Conditions structure clearly shows the current status of the service
Significant types:
LastValidConfigurationApplied- An aggregating type that shows whether the last valid configuration has been successfully applied at least once.ConfigurationValid- shows whether the configuration has passed all validations of the associatedCassandraClass.ScaledToLastValidConfiguration- shows whether the number of running replicas matches the specified configuration.Available- shows whether the (N/2+1) replicas of the service is running and accepting connections.
conditions:
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: Available
- lastTransitionTime: '2025-09-22T14:38:04Z'
observedGeneration: 2
status: 'True'
type: ConfigurationValid
- lastTransitionTime: '2025-09-22T14:38:47Z'
observedGeneration: 2
status: 'True'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: ScaledToLastValidConfigurationA False status indicates a problem at one stage or another, or incomplete state synchronization.
For such a state, a reason and message with a description will be specified.
- lastTransitionTime: '2025-09-23T14:53:33Z'
message: Syncing
observedGeneration: 1
reason: Syncing
status: 'False'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-23T14:54:58Z'
message: Not all the instances are running still waiting for 1 to become ready
observedGeneration: 1
reason: ScalingInProgress
status: 'False'
type: ScaledToLastValidConfigurationUsage Examples
Basic Usage
- Create a
Cassandraresource in d8-managed-cassandra namespace
kubectl -n d8-managed-cassandra apply -f managed-services_v1alpha1_cassandra.yamlapiVersion: managed-services.deckhouse.io/v1alpha1
kind: Cassandra
metadata:
name: cassandra-sample
spec:
cassandraClassName: default
instance:
memory:
size: "4Gi"
cpu:
cores: 1
coreFraction: "50%"
persistentVolumeClaim:
size: "8Gi"- Wait until the cluster is created and all conditions are
True:
kubectl -n d8-managed-cassandra get cassandra cassandra-sample -o wide -w- To connect, use the
cqlshclient and thed8ms-cas-cassandra-sampleservice
cqlsh d8ms-cas-cassandra-sample 9042