Available in:  EE

The module lifecycle stagePreview
The module has requirements for installation

Module Overview

The managed-cassandra module manages Cassandra clusters in Kubernetes clusters. It allows users to configure and scale Cassandra clusters according to their needs, ensuring optimal performance and security. Main features:

  • Automatic deployment: Deploys a Cassandra instance using simple YAML configuration
  • Standalone: Supports single instance installation.
  • Configuration management: Separate Cassandra Class resource for templating approach to service creation with the ability to flexibly validate user configs
  • Status: Informative set of states for tracking deployed Cassandra.

Enabling the Module

To enable the managed-cassandra module, apply the following manifest:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: managed-cassandra
spec:
  enabled: true
  version: 1

After enabling the module, a cluster resource CassandraClass named default will be automatically created.

Quick Start

For module usage examples, see:

Main Resources

The Managed Service Cassandra module offers tools for two conditional roles: User and Administrator. The main objects of the module are Cassandra, Cassandra Class resources and the Cassandra Operator state controller. Conditional Administrator role:

  • manages the cluster wide Cassandra Class resource and creates validation templates, scheduling rules, configuration for future services deployed in DKP.
  • Has access to the system namespace d8-managed-cassandra, where Cassandra Operator is deployed, to its service logs, state determination. Conditional User role:
  • manages the Cassandra resource and configures the service taking into account the Cassandra Class created by the Administrator.

Administrator Resources

CassandraClass

The CassandraClass resource allows restricting the creation of invalid configurations and predefining some values. Each Cassandra resource must be associated with an existing CassandraClass resource. Before deploying the service, all configuration will be checked against the corresponding CassandraClass. Detailed resource description

Cassandra Operator

When the module is enabled, the Cassandra Operator controller is deployed in the system namespace d8-managed-cassandra and reconciles the states of Cassandra and the final service in all user namespaces.

User Resources

Cassandra

The main resource that describes the state of the service. Must be created inside a user namespace, and serves as the source of truth for the state of a specific deployed Cassandra service. Detailed resource description