Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки
Cassandra
Namespaced ресурс, который позволяет создавать конечную конфигурацию и является точкой правды состояния для конкретного развернутого сервиса cassandra.
CassandraClassName
Имя класса, с которым будет связан конкретный ресурс.
Без созданного CassandraClass разворачивание сервиса невозможно.
spec:
cassandraClassName: defaultInstance
Секция, которая описывает ресурсы создаваемого сервиса.
Должна пройти валидацию по sizingPolicy соответствующего класса:
spec:
instance:
memory:
size: 4Gi
cpu:
cores: 1
coreFraction: 50%
persistentVolumeClaim:
size: 8Gi
storageClassName: defaultПоддерживаемые версии Cassandra
Единственная поддерживаемая версия Cassandra 5.0.7
Наши образы для запуска Cassandra-контейнеров основаны на distroless-архитектуре.
Cтатус
Статус сервиса Managed Cassandra отражается в ресурсе Cassandra.
Структура Conditions однозначно показывает текущий статус сервиса
Значимые типы:
LastValidConfigurationApplied- Агрегирующий тип, который показывает, была ли применена успешно последняя валидная конфигурация хотя бы раз.ConfigurationValid- показывает прошла ли что конфигурация все валидации связанногоCassandraClass.ScaledToLastValidConfiguration- показывает, соответствует ли количество работающих реплик заданной конфигурации.Available- показывает, работают ли (N/2+1) реплик сервиса и принимают ли подключения.
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: ScaledToLastValidConfigurationСтатус False говорит о проблеме на том или ином этапе либо незавершенной синхронизации состояния.
Для такого состояния будет указан reason и message с описанием.
- 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: ScaledToLastValidConfigurationПримеры использования
Базовое использование
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"- Подождите, пока кластер будет создан и все conditions будут в
True:
kubectl -n d8-managed-cassandra get cassandra cassandra-sample -o wide -w- Для подключения используйте клиент
cqlshи сервисd8ms-cas-cassandra-sample
cqlsh d8ms-cas-cassandra-sample 9042