Что такое ClickHouse Operator
- Управление жизненным циклом кластера (создание, обновление, масштабирование, удаление)
- Координация кластера ClickHouse Keeper
- Автоматическая генерация конфигурации
- Синхронизация схемы базы данных
- Поэтапные обновления и обновления версий
- Подготовка хранилища
Пользовательские ресурсы
ClickHouseCluster
KeeperCluster
Координация
ClickHouse Keeper обязателен
keeperClusterRef. По умолчанию оператор ищет его в пространстве имен ClickHouseCluster, но при необходимости можно также задать keeperClusterRef.namespace, чтобы указать на KeeperCluster в другом отслеживаемом пространстве имен.
Связь Keeper «один к одному»
- Несколько ClickHouseClusters не могут ссылаться на один и тот же KeeperCluster
- При повторном создании ClickHouseCluster необходимо также повторно создать его KeeperCluster
Persistent Volumes не удаляются автоматически при удалении ресурсов ClickHouseCluster или KeeperCluster.
- Удалите ресурс ClickHouseCluster
- Удалите ресурс KeeperCluster
- Дождитесь завершения работы всех подов
- При необходимости удалите PersistentVolumeClaims, если хотите начать с чистого листа
- Повторно создайте KeeperCluster и ClickHouseCluster вместе
Репликация схемы
Что реплицируется
- определения баз данных Replicated
- движки баз данных для интеграции (PostgreSQL, MySQL и т. д.)
- базы данных без репликации (Atomic, Ordinary и т. д.)
- локальные таблицы в базах данных без репликации
- данные таблиц (это обрабатывается репликацией ClickHouse)
Рекомендуется: используйте движок базы данных Replicated
- Автоматическая репликация схемы между всеми узлами
- Упрощенное управление таблицами
- Оператор может синхронизироваться с новыми репликами
- Согласованная схема во всем кластере
Избегайте нереплицируемых движков
- Таблицы необходимо создавать отдельно на каждой реплике
- Между узлами возможны расхождения схемы
- Оператор не может автоматически синхронизировать новые реплики
Отключение репликации схемы
spec.settings.enableDatabaseSync значение false в ресурсе ClickHouseCluster.
Управление хранилищем
Настройка тома данных
dataVolumeClaimSpec:
Жизненный цикл хранилища
- Создание: PVC создаются автоматически вместе с кластером
- Расширение: Поддерживается, если StorageClass допускает расширение томов
- Сохранение: PVC не удаляются автоматически при удалении кластера
- Повторное использование: Существующие PVC можно повторно использовать, если кластер создаётся заново с тем же именем
Основные особенности конфигурации по умолчанию
- Предварительно настроенный кластер: кластер с именем
default, включающий все узлы ClickHouse. - Макросы по умолчанию: некоторые полезные макросы уже определены:
{cluster}: имя кластера (default){shard}: номер сегмента{replica}: номер реплики
- Реплицируемое хранилище для сущностей RBAC
- Реплицируемое хранилище для пользовательских функций (UDF)
Следующие шаги
- Руководство по настройке - Подробное описание параметров настройки
- Справочник по API - Полная документация по API