Перейти к основному содержимому
Перейти к основному содержимому

Установка оператора ClickHouse с помощью kubectl

В этом руководстве описана установка оператора ClickHouse с помощью kubectl и манифестов.

Предварительные требования

  • Кластер Kubernetes версии v1.33.0 или новее
  • kubectl версии v1.33.0 или новее
  • Права администратора кластера

Установка из манифестов релиза

Примечание

Требуется cert-manager для выпуска сертификатов для вебхуков.

Установите оператор и CRD из последнего релиза:

kubectl apply -f https://github.com/ClickHouse/clickhouse-operator/releases/download/latest/clickhouse-operator.yaml

Это приведет к следующему:

  1. Будет создано пространство имен clickhouse-operator-system
  2. Будут установлены CustomResourceDefinitions (CRD) для ClickHouseCluster и KeeperCluster
  3. Будут созданы необходимые ServiceAccounts, Roles и RoleBindings
  4. Будет развернут controller manager оператора
  5. Будут зарегистрированы вебхуки для проверки ресурсов и задания значений по умолчанию
  6. Будут настроены SSL-сертификаты с использованием cert-manager
  7. Будет включен endpoint метрик

Проверьте установку

Проверьте, что оператор запущен:

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

Настройка пользовательских параметров Развертывания

Если вы хотите настроить параметры Развертывания оператора, выполните следующие шаги.

1. Клонируйте репозиторий

git clone https://github.com/ClickHouse/clickhouse-operator.git
cd clickhouse-operator

2. Настройте параметры установки

Отредактируйте файл config/default/kustomization.yaml, чтобы включить или отключить необходимые опции.

  • Чтобы отключить webhooks, закомментируйте разделы [WEBHOOK] и [CERTMANAGER].
  • Чтобы включить защищённую точку доступа метрик, закомментируйте разделы [METRICS] и раскомментируйте разделы [METRICS SECURE] и [CERTMANAGER].
  • Чтобы включить ServiceMonitor для Prometheus Operator, раскомментируйте раздел [PROMETHEUS].
  • Чтобы включить сетевые политики оператора, раскомментируйте раздел [NETWORK POLICY].

3. Сборка и развертывание

Соберите манифесты оператора и примените их:

make build-installer VERSION=<required operator version> [IMG=<custom registry path>]
kubectl apply -k dist/install.yaml