Esta guía explica cómo instalar el ClickHouse Operator con kubectl y archivos de manifiesto.
Requisitos previos
- Clúster de Kubernetes v1.28.0 o posterior
- kubectl v1.28.0 o posterior
- Permisos de administrador del clúster
Instalar desde los manifiestos de la versión
Instale el operador y los CRD de la versión más reciente:
kubectl apply --server-side --force-conflicts -f https://github.com/ClickHouse/clickhouse-operator/releases/latest/download/clickhouse-operator.yamlLa aplicación del lado del servidor es obligatoria porque los CRD combinados superan el límite de tamaño de la aplicación del lado del client. Para los entornos que solo admiten la aplicación del lado del client, use la variante de CRD sin descripciones:
kubectl apply -f https://github.com/ClickHouse/clickhouse-operator/releases/latest/download/clickhouse-operator-stripped-crds.yamlEsto hará lo siguiente:
- Crear el espacio de nombres
clickhouse-operator-system - Instalar las definiciones de recursos personalizados (CRD) para ClickHouseCluster y KeeperCluster
- Crear las ServiceAccounts, Roles y RoleBindings necesarias
- Desplegar el controller manager del operador
- Registrar webhooks para la validación de recursos y la aplicación de valores predeterminados
- Configurar certificados SSL con cert-manager
- Habilitar el endpoint de métricas
Verificar la instalación
Compruebe que el operador se esté ejecutando:
kubectl get pods -n clickhouse-operator-systemResultado esperado:
NAME READY STATUS RESTARTS AGE
clickhouse-operator-controller-manager-xxxxxxxxxx 1/1 Running 0 1mVerifique que las CRD estén instaladas:
kubectl get crd | grep clickhouse.comResultado esperado:
clickhouseclusters.clickhouse.com 2025-01-06T00:00:00Z
keeperclusters.clickhouse.com 2025-01-06T00:00:00ZConfigurar opciones personalizadas para desplegar
Si quieres configurar las opciones para desplegar el operador, sigue estos pasos.
Clonar el repositorio
git clone https://github.com/ClickHouse/clickhouse-operator.git
cd clickhouse-operatorConfigurar las opciones de instalación
Edita config/default/kustomization.yaml para habilitar o deshabilitar funciones según sea necesario.
- Para deshabilitar los webhooks, comenta las secciones
[WEBHOOK]y[CERTMANAGER]. - Para habilitar un endpoint de métricas seguro, comenta las secciones
[METRICS]y descomenta las secciones[METRICS SECURE]y[CERTMANAGER]. - Para habilitar ServiceMonitor para Prometheus Operator, descomenta la sección
[PROMETHEUS]. - Para habilitar las políticas de red del operador, descomenta la sección
[NETWORK POLICY].
Compilar y desplegar
Compila los manifiestos del operador y aplícalos:
make build-installer VERSION=<required operator version> [IMG=<custom registry path>]
kubectl apply --server-side --force-conflicts -f dist/install.yaml