Qu’est-ce que le ClickHouse Operator
- La gestion du cycle de vie du cluster (création, mises à jour, mise à l’échelle, suppression)
- La coordination du cluster ClickHouse Keeper
- La génération automatique de configuration
- La synchronisation du schéma de base de données
- Les mises à jour progressives et les mises à niveau
- Le provisionnement du stockage
Ressources personnalisées
ClickHouseCluster
KeeperCluster
Coordination
ClickHouse Keeper est requis
keeperClusterRef. Par défaut, l’opérateur recherche dans l’espace de noms du ClickHouseCluster, mais vous pouvez également définir keeperClusterRef.namespace pour pointer vers un KeeperCluster dans un autre espace de noms surveillé.
Relation un à un avec Keeper
- Plusieurs ClickHouseClusters ne peuvent pas référencer le même KeeperCluster
- Recréer un ClickHouseCluster implique de recréer son KeeperCluster
Les volumes persistants ne sont pas supprimés automatiquement lorsque les ressources ClickHouseCluster ou KeeperCluster sont supprimées.
- Supprimez la ressource ClickHouseCluster
- Supprimez la ressource KeeperCluster
- Attendez que tous les pods soient arrêtés
- Supprimez éventuellement les PersistentVolumeClaims si vous souhaitez repartir de zéro
- Recréez ensemble le KeeperCluster et le ClickHouseCluster
Réplication du schéma
Ce qui est répliqué
- Les définitions des bases de données Replicated
- Les moteurs de base de données d’intégration (PostgreSQL, MySQL, etc.)
- Les bases de données non répliquées (Atomic, Ordinary, etc.)
- Les tables locales dans les bases de données non répliquées
- Les données des tables (gérées par la réplication ClickHouse)
Recommandé : utiliser le moteur de base de données Replicated
- Réplication automatique du schéma sur tous les nœuds
- Gestion simplifiée des tables
- L’opérateur peut se synchroniser avec les nouvelles répliques
- Schéma cohérent à l’échelle du cluster
Évitez les moteurs autres que Replicated
- Les tables doivent être créées individuellement sur chaque réplique
- Une dérive du schéma peut survenir entre les nœuds
- L’opérateur ne peut pas synchroniser automatiquement les nouvelles répliques
Désactiver la réplication du schéma
spec.settings.enableDatabaseSync sur false dans la ressource ClickHouseCluster.
Gestion du stockage
Configuration du volume de données
dataVolumeClaimSpec :
Cycle de vie du stockage
- Création : les PVC sont créés automatiquement avec le cluster
- Extension : prise en charge si la StorageClass autorise l’extension des volumes
- Rétention : les PVC ne sont pas supprimés automatiquement lors de la suppression du cluster
- Réutilisation : les PVC existants peuvent être réutilisés si le cluster est recréé avec le même nom
Principaux éléments de la configuration par défaut
- Cluster préconfiguré : cluster nommé ‘default’ contenant tous les nœuds ClickHouse.
- Macros par défaut : certaines macros utiles sont prédéfinies :
{cluster}: nom du cluster (default){shard}: numéro du shard{replica}: numéro de la réplique
- Stockage répliqué pour les entités de contrôle d’accès basé sur les rôles (RBAC)
- Stockage répliqué pour les fonctions définies par l’utilisateur (UDF)
Étapes suivantes
- Guide de configuration - Options de configuration détaillées
- Référence de l’API - Documentation complète de l’API