Ce guide explique comment migrer du chart Helm ClickStack inline-template (v1.x) vers l’architecture basée sur des sous-charts (v2.x). Il s’agit d’un changement incompatible qui remplace des ressources Kubernetes créées manuellement par des ressources personnalisées gérées par un opérateur pour MongoDB et ClickHouse, et s’appuie sur le chart Helm officiel de l’OpenTelemetry Collector.
Changement incompatibleLe chart v2.x n’est pas rétrocompatible avec la v1.x. Une mise à niveau sur place avec helm upgrade n’est pas prise en charge. Nous recommandons d’effectuer une nouvelle installation en parallèle du déploiement existant et de migrer les données, plutôt que de tenter une mise à niveau sur place.
- Sauvegardez vos données avant la mise à niveau (MongoDB, PVC ClickHouse)
- Vérifiez les surcharges actuelles de votre fichier
values.yaml — la plupart des clés ont été déplacées ou renommées
Installation en deux phases
Le chart v2.x s’installe en deux phases. Les opérateurs (qui enregistrent les CRD) doivent être installés avant le chart principal (qui crée les CR) :
Désinstallez dans l’ordre inverse :
Les PersistentVolumeClaims créés par les opérateurs MongoDB et ClickHouse ne sont pas supprimés par helm uninstall. C’est intentionnel, afin d’éviter toute perte accidentelle de données. Pour supprimer les PVC après la désinstallation, consultez :
global.storageClassName et global.keepPVC ont été supprimés. La classe de stockage est désormais configurée directement dans la spécification CR de chaque opérateur :
Réorganisation des values HyperDX
Le bloc hyperdx: est désormais structuré par type de ressource Kubernetes :
ConfigMap et Secret unifiés
Toutes les variables d’environnement sont désormais transmises via deux ressources aux noms fixes, partagées par le déploiement HyperDX et l’OTel collector via envFrom :
clickstack-config ConfigMap — renseignée à partir de hyperdx.config
clickstack-secret Secret — renseigné à partir de hyperdx.secrets
Il n’existe plus de ConfigMap distincte spécifique à OTel. Les deux charges de travail utilisent les mêmes sources.
Les valeurs mongodb.* suivantes n’existent plus :
MongoDB est désormais géré par l’opérateur MCK via une ressource personnalisée MongoDBCommunity. La spécification de la ressource personnalisée est générée telle quelle à partir de mongodb.spec :
Le mot de passe MongoDB est défini dans hyperdx.secrets.MONGODB_PASSWORD (et non dans mongodb.password). Il est automatiquement référencé par le Secret du mot de passe et le modèle mongoUri.
Pour ajouter de la persistance, ajoutez un bloc statefulSet dans mongodb.spec :
Le sous-chart de l’opérateur MCK se configure sous mongodb-operator: (et non mongodb-kubernetes:). Consultez la documentation MCK pour obtenir la liste complète des champs de CRD disponibles.
Migration vers ClickHouse
Les valeurs clickhouse.* suivantes n’existent plus :
ClickHouse est désormais géré par le ClickHouse Operator via les ressources personnalisées ClickHouseCluster et KeeperCluster. Les sections spec de ces deux ressources sont générées telles quelles à partir des values :
Les identifiants utilisateur de ClickHouse proviennent désormais de hyperdx.secrets (et non de clickhouse.config.users). La spécification du cluster y fait référence à l’aide d’expressions de template.
Le sous-chart ClickHouse Operator se configure sous clickhouse-operator:. Les webhooks et cert-manager sont désactivés par défaut. Consultez le guide de configuration de l’opérateur pour voir tous les champs de CRD disponibles.
Migration de l’OTEL Collector
Le bloc otel: a été entièrement supprimé :
L’OTel collector est désormais déployé via le chart Helm officiel OpenTelemetry Collector en tant que sous-chart otel-collector:. Il n’existe pas de chart parent otel: faisant office de wrapper — configurez directement le sous-chart.
Les variables d’environnement (endpoint ClickHouse, URL OpAMP, etc.) sont partagées via la ConfigMap unifiée clickstack-config et le Secret clickstack-secret. Le extraEnvsFrom du sous-chart est préconfiguré :
Pour définir les ressources (anciennement otel.resources) :
Pour définir les répliques (précédemment otel.replicas) :
Pour définir nodeSelector/tolerations (anciennement otel.nodeSelector/otel.tolerations) :
Consultez le chart Helm de l’OpenTelemetry Collector pour connaître l’ensemble des valeurs disponibles du sous-chart.
Les sections suivantes ne sont pas concernées par cette migration :
global.* (imageRegistry, imagePullSecrets)
Nouvelle installation ou mise à niveau sur place
Pour une nouvelle installation, aucune étape particulière n’est nécessaire. Les valeurs par défaut fonctionnent immédiatement.
Pour une mise à niveau sur place d’une release existante, gardez à l’esprit que :
- Les opérateurs (MCK, ClickHouse Operator) seront installés sous forme de nouveaux déploiements dans votre espace de noms
- Le Deployment MongoDB existant et le Deployment ClickHouse existant seront supprimés par Helm (ils ne figurent plus dans les templates du chart)
- Les opérateurs créeront de nouveaux StatefulSets pour gérer MongoDB et ClickHouse
- Les PVC de l’ancien chart ne sont pas réutilisés automatiquement par les StatefulSets gérés par les opérateurs
Nous recommandons d’effectuer une nouvelle installation en parallèle du déploiement existant et de migrer les données, plutôt que de procéder à une mise à niveau sur place.