Available in: EE
The module lifecycle stage: Preview
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
OpensearchClassresource 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: 1After 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
OpensearchClassresource and creates validation templates, deployment rules, and defaults for future services in DKP. - has access to the system namespace
d8-managed-opensearch, whereOpensearch Operatoris deployed, including its logs and operational state.
Conditional User role:
- manages the
Opensearchresource and configures the service according to constraints defined inOpensearchClassby 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