ClickHouse Operator#
ClickHouse Operator — специализированный оператор, предназначенный для автоматизации управления кластерами ClickHouse в облачной среде. Оператор упрощает развертывание, масштабирование, обновление и мониторинг кластеров.
Примечание
ClickHouse — это высокопроизводительная колоночная СУБД, оптимизированная для аналитических запросов и работы с большими объемами данных.
Основные функции ClickHouse Operator:
автоматическое развертывание кластеров ClickHouse;
автоматическое масштабирование кластера для поддержания производительности во время пиковых нагрузок и экономии ресурсов в периоды низкого трафика. Поддерживаются горизонтальное масштабирование (добавление/удаление node) и вертикальное масштабирование (изменение ресурсов для node);
бесшовное обновление кластеров до новых версий. При возникновении проблем поддерживается откат изменений;
автоматическое восстановление работоспособности кластера в случае сбоя работы node;
создание резервных копий данных и их восстановление. Интеграция с облачными хранилищами (например, S3) для хранения резервных копий;
интеграция с системами мониторинга, такими как Prometheus и Grafana;
настройка HTTPS/TLS для шифрования данных при передаче;
интеграция с Secrets для управления учетными данными.
Установка#
Установка с помощью kubectl#
Чтобы установить ClickHouse Operator с помощью kubectl:
Опционально. Создайте YAML-манифест
<example>самостоятельно:kubectl create <example>.yamlПримените YAML-манифест
clickhouse-operator-install-bundle.yamlв кластере DropApp:kubectl apply -f https://<repoexample.ru>/Altinity/clickhouse-operator/master/deploy/operator/clickhouse-operator-install-bundle.yamlГде флаг
-fуказывает путь до файла.Пример вывода команды:
customresourcedefinition.apiextensions.k8s.io/clickhouseinstallations.clickhouse.altinity.com created serviceaccount/clickhouse-operator created clusterrolebinding.rbac.authorization.k8s.io/clickhouse-operator created deployment.apps/clickhouse-operator configuredГде каждая строка показывает, что созданы:
customresourcedefinition.apiextensions.k8s.io/clickhouseinstallations.clickhouse.altinity.com created- CRD (Custom Resource Definition) с именемClickHouseInstallation;serviceaccount/clickhouse-operator created- новый Service Account с именемclickhouse-operator;clusterrolebinding.rbac.authorization.k8s.io/clickhouse-operator created- CluserRoleBinding с именемclickhouse-operator;deployment.apps/clickhouse-operator configured- deployment с именемclickhouse-operator.
Убедитесь, что после выполнения шага 2 в кластере развертут namespace
kube-system:kubectl get pods --namespace kube-systemПример вывода команды:
NAME READY STATUS RESTARTS AGE ... clickhouse-operator 1/1 Running 0 43m ...
Установка с помощью Helm#
Чтобы установить ClickHouse Operator с помощью Helm:
Опционально. Добавьте репозиторий ClickHouse Operator:
helm repo add clickhouse-operator https://<repoexample.ru>/clickhouse-operator/Используйте команду:
helm install clickhouse-operator clickhouse-operator/altinity-clickhouse-operator