Qué es el ClickHouse Operator
- La gestión del ciclo de vida del clúster (creación, actualizaciones, escalado y eliminación)
- La coordinación del clúster de ClickHouse Keeper
- La generación automática de configuración
- La sincronización del esquema de la base de datos
- Las actualizaciones graduales y de versión
- El aprovisionamiento de almacenamiento
Recursos personalizados
ClickHouseCluster
KeeperCluster
Coordinación
Se requiere ClickHouse Keeper
keeperClusterRef. De forma predeterminada, el operador busca en el espacio de nombres de ClickHouseCluster, pero también puede configurar keeperClusterRef.namespace para que apunte a un KeeperCluster en otro espacio de nombres supervisado.
Relación uno a uno con Keeper
- Varios ClickHouseClusters no pueden hacer referencia al mismo KeeperCluster
- Volver a crear un ClickHouseCluster requiere volver a crear su KeeperCluster
Los volúmenes persistentes no se eliminan automáticamente cuando se eliminan los recursos ClickHouseCluster o KeeperCluster.
- Elimine el recurso ClickHouseCluster
- Elimine el recurso KeeperCluster
- Espere a que todos los pods finalicen
- Opcionalmente, elimine los PersistentVolumeClaims si desea empezar desde cero
- Vuelva a crear conjuntamente el KeeperCluster y el ClickHouseCluster
Replicación del esquema
Qué se replica
- Definiciones de bases de datos Replicated
- Motores de bases de datos de integración (PostgreSQL, MySQL, etc.)
- Bases de datos no replicadas (Atomic, Ordinary, etc.)
- Tablas locales en bases de datos no replicadas
- Datos de tablas (gestionados por la replicación de ClickHouse)
Recomendado: Use el motor de base de datos Replicated
- Replicación automática del esquema en todos los nodos
- Gestión simplificada de las tablas
- El operador puede sincronizarse con las nuevas réplicas
- Esquema coherente en todo el clúster
Evite los motores no Replicated
- Las tablas deben crearse individualmente en cada réplica
- Puede producirse una desviación del esquema entre nodos
- El operador no puede sincronizar automáticamente las réplicas nuevas
Deshabilitar la replicación del esquema
spec.settings.enableDatabaseSync en false dentro del recurso ClickHouseCluster.
Gestión del almacenamiento
Configuración del volumen de datos
dataVolumeClaimSpec:
Ciclo de vida del almacenamiento
- Creación: Los PVCs se crean automáticamente con el clúster
- Expansión: Se admite si la StorageClass permite la expansión de volúmenes
- Retención: Los PVCs no se eliminan automáticamente al eliminar el clúster
- Reutilización: Los PVCs existentes pueden reutilizarse si el clúster se vuelve a crear con el mismo nombre
Aspectos destacados de la configuración predeterminada
- Clúster preconfigurado: clúster llamado ‘default’ que contiene todos los nodos de ClickHouse.
- Macros predeterminadas: algunas macros útiles ya están predefinidas:
{cluster}: nombre del clúster (default){shard}: número de segmento{replica}: número de réplica
- Almacenamiento replicado para entidades de control de acceso basado en roles (RBAC)
- Almacenamiento replicado para funciones definidas por el usuario (UDF)
Siguientes pasos
- Guía de configuración - Opciones de configuración detalladas
- Referencia de la API - Documentación completa de la API