Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки
Clickhouse
Namespaced-кастомный ресурс Clickhouse описывает экземпляр ClickHouse
и является источником желаемого состояния сервиса в пользовательском неймспейсе.
clickhouseClassName
Имя ClickhouseClass, по которому проверяется конфигурация экземпляра.
Без существующего ClickhouseClass развёртывание ресурса Clickhouse невозможно.
spec:
clickhouseClassName: defaultinstance
Секция с вычислительными ресурсами и хранилищем экземпляра ClickHouse. Значения должны соответствовать политике sizing выбранного класса.
spec:
instance:
memory:
size: 4Gi
cpu:
cores: 1
coreFraction: 50%
persistentVolumeClaim:
size: 8Gi
storageClassName: defaultTLS
Секция spec.tls настраивает серверный TLS для ClickHouse.
При включённом TLS незашифрованные порты отключаются, клиенты подключаются по HTTPS (8443) или защищённому TCP (9440).
Поддерживаемые режимы:
CertManager— оператор выпускает сертификат через cert-manager. УкажитеclusterIssuerNameилиissuerNameвspec.tls.certManager.CustomCertificate— используйте существующие Secret сtls.crt/tls.keyиca.crt. Задайтеspec.tls.customCertificate.serverTLSSecretиspec.tls.customCertificate.serverCASecret.
spec:
tls:
mode: CertManager
certManager:
clusterIssuerName: selfsignedЕсли spec.tls не задан, ClickHouse слушает HTTP-порт 8123 и TCP-порт 9000 без шифрования.
Поддерживаемые версии ClickHouse
Модуль поддерживает только версию ClickHouse 26.3.12.3-lts.
Образы контейнеров ClickHouse основаны на distroless-архитектуре.
Статус
Статус ресурса Clickhouse отражает состояние развёрнутого сервиса.
Поле conditions показывает, прошла ли конфигурация проверку и готов ли экземпляр.
Значимые типы условий:
LastValidConfigurationApplied— была ли хотя бы раз успешно применена последняя валидная конфигурация.ConfigurationValid— прошла ли конфигурация все проверки связанногоClickhouseClass.ScaledToLastValidConfiguration— соответствует ли число работающих реплик заданной конфигурации.Available— работает ли достаточное число реплик и принимает ли сервис подключения.
conditions:
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: Available
- lastTransitionTime: '2025-09-22T14:38:04Z'
observedGeneration: 2
status: 'True'
type: ConfigurationValid
- lastTransitionTime: '2025-09-22T14:38:47Z'
observedGeneration: 2
status: 'True'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: ScaledToLastValidConfigurationСтатус False указывает на проблему или незавершённую синхронизацию.
В этом случае проверьте поля reason и message.
- lastTransitionTime: '2025-09-23T14:53:33Z'
message: Syncing
observedGeneration: 1
reason: Syncing
status: 'False'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-23T14:54:58Z'
message: Not all the instances are running still waiting for 1 to become ready
observedGeneration: 1
reason: ScalingInProgress
status: 'False'
type: ScaledToLastValidConfigurationПримеры использования
Базовое использование
Выбирайте соотношение памяти и хранилища по рекомендациям ClickHouse по sizing.
- Создайте ресурс
Clickhouseв неймспейсеdefault:
d8 k apply -f managed-services_v1alpha1_clickhouse.yamlapiVersion: managed-services.deckhouse.io/v1alpha1
kind: Clickhouse
metadata:
name: clickhouse-sample
spec:
clickhouseClassName: default
instance:
memory:
size: "4Gi"
cpu:
cores: 1
coreFraction: "50%"
persistentVolumeClaim:
size: "8Gi"- Дождитесь готовности экземпляра и статуса
Trueу всех условий:
d8 k get clickhouse clickhouse-sample -o wide -w- Подключитесь через
clickhouse-clientк сервисуd8ms-ch-clickhouse-sample:
clickhouse-client -h d8ms-ch-clickhouse-sample