Available in:  EE

The module lifecycle stagePreview
The module has requirements for installation

The managed-clickhouse module is intended for platform administrators and application teams who need to run ClickHouse in a Deckhouse Kubernetes Platform (DKP) cluster. It deploys and maintains ClickHouse instances from declarative manifests without manual pod configuration.

The module uses the Clickhouse and ClickhouseClass custom resources. Administrators define validation rules and resource limits in ClickhouseClass, and users create Clickhouse resources in their namespaces. The operator reconciles the desired state, validates configuration, and exposes a Kubernetes service for client connections.

For setup steps and operational details, see the user guide and administrator guide.

Main Features

  • Deploy a ClickHouse instance from a Clickhouse manifest in a user namespace.
  • Validate instance configuration against ClickhouseClass sizing policies and CEL rules before deployment.
  • Track deployment progress with status conditions on the Clickhouse resource.
  • Connect to ClickHouse through the d8ms-ch-<instance-name> service created in the instance namespace.
  • Configure server TLS with cert-manager or custom Kubernetes Secrets.
  • Restrict allowed CPU, memory, and storage combinations with ClickhouseClass sizing policies.
  • Pin pod scheduling with nodeSelector, nodeAffinity, and tolerations defined in ClickhouseClass.

Limitations

  • The module supports only ClickHouse version 26.3.12.3-lts.
  • Each Clickhouse resource deploys a standalone instance; multi-shard cluster topology is not configured through the module API.
  • The storageClassName parameter in spec.instance.persistentVolumeClaim cannot be changed after the instance is created.
  • The ClickhouseClass resource is immutable; create a new class to change its specification.
  • Built-in observability integration for ClickHouse instances is not available in the current module version.