Это руководство посвящено установке ClickHouse Operator с помощью kubectl и манифестов.
Предварительные требования
- Кластер Kubernetes v1.28.0 или новее
- kubectl v1.28.0 или новее
- Права администратора кластера
Установка из манифестов релиза
Установите оператор и CRD из последнего релиза:
kubectl apply --server-side --force-conflicts -f https://github.com/ClickHouse/clickhouse-operator/releases/latest/download/clickhouse-operator.yamlПрименение на стороне сервера обязательно, поскольку объединенные CRD превышают ограничение на размер при применении на стороне клиента. Для сред, поддерживающих только применение на стороне клиента, используйте вариант CRD без описаний:
kubectl apply -f https://github.com/ClickHouse/clickhouse-operator/releases/latest/download/clickhouse-operator-stripped-crds.yamlЭто приведет к следующему:
- Создаст пространство имен
clickhouse-operator-system - Установит определения пользовательских ресурсов (CRD) для ClickHouseCluster и KeeperCluster
- Создаст необходимые ServiceAccount, Role и RoleBinding
- Развернет controller manager оператора
- Зарегистрирует вебхуки для валидации ресурсов и задания значений по умолчанию
- Настроит SSL-сертификаты с помощью cert-manager
- Включит конечную точку метрик
Проверьте установку
Убедитесь, что оператор запущен:
kubectl get pods -n clickhouse-operator-systemОжидаемый вывод:
NAME READY STATUS RESTARTS AGE
clickhouse-operator-controller-manager-xxxxxxxxxx 1/1 Running 0 1mУбедитесь, что CRD установлены:
kubectl get crd | grep clickhouse.comОжидаемый результат:
clickhouseclusters.clickhouse.com 2025-01-06T00:00:00Z
keeperclusters.clickhouse.com 2025-01-06T00:00:00ZНастройка пользовательских параметров развертывания
Если вы хотите настроить параметры развертывания оператора, выполните следующие шаги.
Клонируйте репозиторий
git clone https://github.com/ClickHouse/clickhouse-operator.git
cd clickhouse-operatorНастройте параметры установки
Измените config/default/kustomization.yaml, чтобы включить или отключить нужные возможности.
- Чтобы отключить вебхуки, закомментируйте разделы
[WEBHOOK]и[CERTMANAGER]. - Чтобы включить защищенную конечную точку метрик, закомментируйте разделы
[METRICS], а затем раскомментируйте разделы[METRICS SECURE]и[CERTMANAGER]. - Чтобы включить ServiceMonitor для Prometheus Operator, раскомментируйте раздел
[PROMETHEUS]. - Чтобы включить сетевые политики оператора, раскомментируйте раздел
[NETWORK POLICY].
Сборка и развертывание
Соберите манифесты оператора и примените их:
make build-installer VERSION=<required operator version> [IMG=<custom registry path>]
kubectl apply --server-side --force-conflicts -f dist/install.yaml