The module lifecycle stagePreview

Available in:  EE

Module Overview

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

  • Automatic deployment: Deploys a Valkey instance using simple YAML configuration
  • Standalone: Supports single instance installation.
  • Persistent Storage: Allows configuring different data storage options AOF, RDB, AOF+RDB
  • Configuration management: Separate Valkey Class resource for templating approach to service creation with the ability to flexibly validate user configs
  • Status: Informative set of states for tracking deployed Valkey.

Enabling the Module

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

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

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

Quick Start

For module usage examples, see:

Main Resources

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

Conditional Administrator role:

  • manages the cluster wide Valkey Class resource and creates validation templates, deployment rules, configuration for future services deployed in DKP.
  • Has access to the system namespace d8-managed-valkey, where Valkey Operator is deployed, to its service logs, state determination.

Conditional User role:

  • manages the Valkey resource and configures the service taking into account the Valkey Class created by the Administrator.

Administrator Resources

ValkeyClass

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

Valkey Operator

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

User Resources

Valkey

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 Valkey service. Detailed resource description