Available in:  EE

The module lifecycle stagePreview
The module has requirements for installation

Module Overview

The managed-opensearch module manages Opensearch instances in Kubernetes clusters. It allows users to deploy and scale Opensearch clusters according to their needs, ensuring stable performance and predictable operations. Key features:

  • Automatic deployment: Deploys an Opensearch instance using simple YAML configuration.
  • Configuration management: Separate OpensearchClass resource for templating service creation and validating user configurations.
  • Class-based governance: Supports sizing policies and CEL-based validation rules.
  • Persistent Storage: Supports running with persistent volume claims for data.
  • Status conditions: Exposes informative status conditions for tracking the deployed Opensearch service.

Enabling the Module

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

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

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

Quick Start

For module usage examples, see:

Main Resources

The managed-opensearch module offers tools for two conditional roles User and Administrator. The main objects of the module are the Opensearch, OpensearchClass resources and the Opensearch Operator state controller.

Conditional Administrator role:

  • manages the cluster-wide OpensearchClass resource and creates validation templates, deployment rules, and defaults for future services in DKP.
  • has access to the system namespace d8-managed-opensearch, where Opensearch Operator is deployed, including its logs and operational state.

Conditional User role:

  • manages the Opensearch resource and configures the service according to constraints defined in OpensearchClass by the Administrator.

Administrator Resources

OpensearchClass

The OpensearchClass resource allows restricting invalid configurations and predefining default values. Each Opensearch resource must be associated with an existing OpensearchClass resource. Before deploying the service, all user configuration is validated against the selected OpensearchClass. Detailed resource description

Opensearch Operator

When the module is enabled, the Opensearch Operator controller is deployed in the system namespace d8-managed-opensearch and reconciles the states of Opensearch resources and resulting services in all user namespaces.

User Resources

Opensearch

The main resource that describes the desired state of the service. It must be created inside a user namespace and serves as the source of truth for a specific deployed Opensearch service. Detailed resource description