Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Настройка внешнего доступа к поду в кластере
    • Все инструкции
    • Проекты
    • Ресурсная модель
      • Обзор
      • Certificate Manager
      • DNS
      • IAM
      • Logging Stack
      • Managed Service for Apache Kafka®
      • Managed Service for PostgreSQL
      • Managed Service for ClickHouse®
      • DataLens
      • Monitoring
      • Object Storage
      • Дисковая подсистема
      • Поддержка NVIDIA® GPU
      • Policy Manager
      • Secrets Store
      • SpeechSense
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

В этой статье:

  • Конфигурация компонента
  • Создание кластера
  • Сетевой доступ к кластеру
  • Типы сервисов
  • Эндпоинт на весь кластер
  • Эндпоинты на шарды
  • Получение адресов для подключения
  • Защита от удаления
  1. Концепции
  2. Компоненты
  3. Managed Service for ClickHouse®

Managed Service for ClickHouse®

Статья создана
Yandex Cloud
Обновлена 23 марта 2026 г.
  • Конфигурация компонента
  • Создание кластера
  • Сетевой доступ к кластеру
    • Типы сервисов
    • Эндпоинт на весь кластер
    • Эндпоинты на шарды
    • Получение адресов для подключения
  • Защита от удаления

Managed Service for ClickHouse® — это управляемый сервис для работы с открытой колоночной СУБД ClickHouse®. Сервис упрощает развертывание и обновление кластера баз данных, обеспечивает отказоустойчивость через репликацию и шардирование, а также предоставляет инструменты для резервного копирования и мониторинга.

С помощью Managed Service for ClickHouse® можно:

  • создавать и восстанавливать кластеры с помощью кастомного ресурса ClickhouseCluster;
  • создавать разовые резервные копии с помощью кастомного ресурса ClickhouseBackup;
  • настраивать репликацию данных между хостами для обеспечения высокой доступности;
  • использовать шардирование для горизонтального масштабирования и распределения нагрузки.

Управлять интеграцией с ClickHouse® можно с помощью параметров кастомного ресурса ManagedClickhouseConfig.

Конфигурация компонентаКонфигурация компонента

Параметры ресурса ManagedClickhouseConfig задают настройки компонента Managed Service for ClickHouse® в кластере (включение компонента, ресурсы операторов и значения по умолчанию для кластеров).

Пример:

apiVersion: stackland.yandex.cloud/v1alpha1
kind: ManagedClickhouseConfig
metadata:
  name: main  # Required, must be main
spec:
  enabled: true
  settings:
    # Monitoring for ClickHouse
    monitoring:
      enabled: true
    # stackland-clickhouse-operator
    stackland-ch:
      replicas: 1
      resources:
        requests:
          cpu: "200m"
          memory: "256Mi"
        limits:
          cpu: "1000m"
          memory: "1Gi"
    # altinity-clickhouse-operator
    altinity-ch:
      resources:
        requests:
          cpu: "100m"
          memory: "256Mi"
        limits:
          cpu: "500m"
          memory: "512Mi"
    # altinity-clickhouse-operator.metrics
    metrics:
      resources:
        requests:
          cpu: "50m"
          memory: "64Mi"
        limits:
          cpu: "200m"
          memory: "128Mi"
    # defaultClickHouseResources: {}
    # defaultKeeperResources: {}

Параметры:

  • enabled — включает или отключает компонент.
  • settings.monitoring.enabled — включает или отключает мониторинг для ClickHouse®.
  • settings.stackland-ch — настройки оператора stackland-clickhouse-operator: replicas (число реплик пода оператора), resources (запросы и лимиты CPU/памяти).
  • settings.altinity-ch — ресурсы (resources) для пода оператора altinity-clickhouse-operator.
  • settings.metrics — ресурсы для компонента метрик.
  • settings.defaultClickHouseResources — ресурсы по умолчанию для подов ClickHouse, если не заданы в ресурсе ClickhouseCluster.
  • settings.defaultKeeperResources — ресурсы по умолчанию для Keeper, если не заданы в ресурсе ClickhouseCluster.

Создание кластераСоздание кластера

Пример минимальной конфигурации кластера:

apiVersion: clickhouse.stackland.yandex.cloud/v1alpha1
kind: ClickhouseCluster
metadata:
  labels:
    app.kubernetes.io/name: ch-stackland-operator
    app.kubernetes.io/managed-by: kustomize
  name: ch-sample-min
spec:
  clickhouse:
    service: ClusterIP # тип сервиса для всего кластера (None, ClusterIP или LoadBalancer). По умолчанию ClusterIP
    shards:
      - id: shard-1
        # service: None # тип сервиса для шарда (None, ClusterIP или LoadBalancer). По умолчанию None (не создается)
    storage:
      size: 1Gi
    resources:
      requests:
        cpu: "500m"
        memory: "1Gi"
      limits:
        cpu: "1"
        memory: "2Gi"
  keeper:
    storage:
      size: 1Gi

Где:

  • shards — топология кластера. В примере используется один шард с настройками по умолчанию.
  • storage — настройки дискового пространства для хранения данных.
  • resources — ограничивает ресурсы для пода c Managed Service for ClickHouse®.
  • keeper — конфигурация ClickHouse® Keeper.

Сетевой доступ к кластеруСетевой доступ к кластеру

Managed Service for ClickHouse® позволяет настраивать сетевой доступ к кластеру ClickHouse® на двух уровнях:

  • Эндпоинт на весь кластер — единая точка входа для подключения ко всему кластеру. Запросы автоматически распределяются между всеми шардами.
  • Эндпоинты на отдельные шарды — прямое подключение к конкретному шарду кластера.

Типы сервисовТипы сервисов

Для каждого эндпоинта можно выбрать один из следующих типов сервиса:

  • None — эндпоинт не создается. Используется по умолчанию для шардов.
  • ClusterIP — эндпоинт доступен только внутри кластера Kubernetes. Используется по умолчанию для кластерного эндпоинта.
  • LoadBalancer — эндпоинт доступен как внутри кластера, так и извне через сетевой балансировщик.

Эндпоинт на весь кластерЭндпоинт на весь кластер

Эндпоинт на весь кластер создается автоматически при создании кластера ClickHouse®. По умолчанию используется тип ClusterIP, что обеспечивает доступ к кластеру из других подов в Kubernetes.

Чтобы сделать кластер доступным извне, укажите тип LoadBalancer в параметре spec.clickhouse.service:

spec:
  clickhouse:
    service: LoadBalancer

Эндпоинты на шардыЭндпоинты на шарды

По умолчанию эндпоинты на отдельные шарды не создаются (service: None). Это позволяет экономить ресурсы, когда прямой доступ к шардам не требуется.

Чтобы создать эндпоинт для конкретного шарда, укажите тип сервиса в параметре spec.clickhouse.shards[].service:

spec:
  clickhouse:
    shards:
      - id: shard-1
        service: ClusterIP  # доступ только внутри кластера
      - id: shard-2
        service: LoadBalancer  # доступ извне

При создании эндпоинта на шард создается один сервис на весь шард, а не отдельные сервисы для каждой реплики внутри шарда.

Получение адресов для подключенияПолучение адресов для подключения

После создания кластера адреса для подключения доступны в статусе ресурса ClickhouseCluster:

kubectl get clickhousecluster <название_кластера> -n <название_проекта> -o jsonpath='{.status.clusterStatus.fqdns}'

Структура ответа:

  • cluster.internal — внутренний FQDN для подключения к кластеру из других подов.
  • cluster.external — внешний FQDN для подключения к кластеру извне (только для LoadBalancer).
  • shards[].serviceFqdn.internal — внутренний FQDN для подключения к конкретному шарду.
  • shards[].serviceFqdn.external — внешний FQDN для подключения к шарду извне (только для LoadBalancer).

Внутренние FQDN имеют формат <название_ресурса>.<название_проекта>.svc.<домен кластера> и доступны только внутри кластера Kubernetes.

Внешние FQDN создаются автоматически для сервисов типа LoadBalancer и доступны извне кластера. Подробнее о DNS см. в разделе DNS.

Защита от удаленияЗащита от удаления

Параметр spec.deletionProtection в ресурсе ClickhouseCluster предотвращает случайное удаление кластера через API Kubernetes. При включённой защите (spec.deletionProtection: true) оператор отклоняет удаление ресурса кластера; команда kubectl delete и удаление через консоль управления не выполнятся, пока защита не будет отключена.

  • По умолчанию: false (защита выключена).
  • Включение и отключение: задаётся в spec.deletionProtection при создании или при редактировании кластера.
  • Ограничение: защита распространяется только на ресурс ClickhouseCluster. Созданные оператором ресурсы (PVC, Secret, ConfigMap и др.) защитой не охватываются.

Была ли статья полезна?

Предыдущая
Managed Service for PostgreSQL
Следующая
DataLens
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»