Mises à niveau
Kubernetes
Les opérations Kubernetes post-déploiement utilisent la CLI
helm sur votre poste de travail. Seul init inclut un client Helm intégré ; installez donc helm avant votre première mise à niveau.init :
v (le chart X.Y.Z correspond au tag vX.Y.Z). Le chart publié pointe déjà vers l’image de conteneur publique. Les installations et mises à niveau standard ne nécessitent donc aucune valeur d’image. Pour consulter les valeurs par défaut du chart, exécutez helm show values clicklink-connector --repo https://releases.clicklink.clickhouse.com/charts. L’executor s’exécute sous la forme d’une réplique unique avec la strategy Recreate ; une mise à niveau le déconnecte donc brièvement. Voir quand le connector est hors ligne pour savoir ce qu’il advient des commandes durant cette window.
Une installation à partir d’une référence directe au chart (oci://, une URL, une archive locale ou un répertoire local) n’est associée à aucun repository à partir duquel résoudre le chart. Exécutez plutôt helm upgrade clicklink-connector <same-chart-reference> avec la nouvelle version. Réexécuter init avec une CLI plus récente permet également d’aboutir au même résultat, mais nécessite un point d’entrée : --handoff si vous avez conservé le bundle, ou un nouveau jeton d’inscription avec --force après le nettoyage documenté. La commande helm upgrade ci-dessus est la procédure habituelle (voir réexécutions et récupération).
VM Linux
Réexécutez le programme d’installation sur l’hôte. Il télécharge et vérifie la nouvelle version comme lors de l’onboarding. Il sauvegarde le binaire précédent, installe les unités systemd actuelles et préserve vos motifs de masquage actifs ainsi que votre fichier d’environnement. Redémarrez ensuite les démons :--version vX.Y.Z à la commande d’installation.
État de santé
Chaque démon expose un point de terminaison/livez sur son port de santé. Le signal de santé est le champ JSON status du corps de la réponse, et non le code d’état HTTP. Les métriques Prometheus sont exposées sur /metrics sur le même port ; il n’y a pas de port de métriques distinct. Ports par défaut pour les deux cibles :
L’executor expose également son API de commandes locale sur
127.0.0.1:9999. Elle ne dispose d’aucune authentification propre et n’est jamais exposée en dehors de l’hôte ou du pod ; les commandes de service clicklink clctl l’atteignent en local.
Lorsque les sessions d’assistance sont activées, la passerelle écoute également sur le port 8443 : TLS auto-signé sur une VM, HTTP local au pod via kubectl port-forward ou un Ingress Kubernetes assurant la terminaison TLS.
Sur une VM, exécutez l’ensemble complet des vérifications à tout moment :
2 si l’une de ces vérifications échoue.
Certificats
Le connecteur renouvelle automatiquement son certificat client. Le scraper, le troubleshooter et l’executor vérifient chacun le certificat terminal toutes les 12 heures et le renouvellent lorsqu’il lui reste 10 jours de validité. Le renouvellement renvoie un certificat terminal valable 30 jours via le canal mTLS existant, authentifié par HMAC ; aucune intervention de l’opérateur n’est donc nécessaire. Dans Kubernetes, le démon réécrit le certificat terminal renouvelé dans le Secretclicklink-mtls ; sur une VM, il l’écrit dans /etc/clicklink/tls/.
Pour vérifier la date d’expiration actuelle :
Rotation des identifiants
Identifiants API (HMAC)
Demandez un nouveau jeton d’inscription à l’équipe chargée de votre compte, puis réexécutez votre commandeinit initiale avec --enroll et --force. Conservez tous les indicateurs spécifiques à la cible utilisés lors de la première installation (--target-namespace, --values, ainsi que les éventuels indicateurs de miroir --chart, --chart-repo ou --chart-version), car --force restaure la configuration conservée. Le mode Managed est repris de la configuration remplacée, --managed est donc facultatif ici. Pour une installation par défaut :
init active et démarre uniquement les unités qui ne sont pas encore en cours d’exécution ; redémarrez donc les démons après la rotation :
init crée à l’avance les Secrets clicklink-hmac et clicklink-mtls renouvelés ; le chart ne les génère pas. Son annotation de checksum ne les couvre pas, si bien que les pods en cours d’exécution conservent les identifiants avec lesquels ils ont démarré. Redémarrez chaque composant après la rotation :
Pour une rotation automatisée nécessitant un mot de passe pour le provisionnement SQL, stdin transmet les deux secrets dans l’ordre : le jeton sur la première ligne, le mot de passe sur la seconde. La lecture du jeton consomme exactement une ligne.
Utilisateurs ClickHouse
Recréez les utilisateurs en lecture seule du connector pour chaque instance que vous avez enregistrée vous-même. Dans Kubernetes, exécutez les commandes depuis votre poste de travail.--apply-ch-grants réapplique les privilèges régénérés dans le pod afin que les nouvelles informations d’identification parviennent à ClickHouse ; si l’utilisateur administrateur a un mot de passe, ajoutez --ch-admin-password-stdin et fournissez-le via un pipe :
--ch-user-via cr :
--ch-user-via cr et les options de sélection des pods à l’une ou l’autre syntaxe ; consultez la référence de la CLI.
Certificat client
Le renouvellement est automatique (voir certificats). Pour remplacer immédiatement un certificat encore valide, réexécutezinit avec --force. Redémarrez ensuite chaque composant afin que les démons présentent le nouveau certificat terminal : sur Kubernetes, comme décrit à la section identifiant d’API ; sur une VM, les trois unités.
Réexécutions et récupération
Les réexécutions deinit convergent : la première chose à faire est donc toujours de relancer la même commande. Sans --force, le fichier /etc/clicklink/config.yaml (VM) ou la surcouche clicklink-values.yaml (Kubernetes) existant est conservé, et une clé client existante est réutilisée ; init remplace les identifiants et la chaîne de CA de manière atomique. Les commandes de récupération affichées par la CLI après un échec partiel peuvent être exécutées à nouveau sans risque.
--force remplace la configuration ou la surcouche conservée, régénère la clé client et remplace un certificat client non expiré. Il ne génère jamais de nouvel UUID de cluster : l’identité du connector est donc préservée. La posture du mode managé de la configuration remplacée est conservée lors des réexécutions non interactives et proposée comme valeur par défaut sur un terminal, sauf si vous passez --managed ou --no-managed.
Si la signature du certificat a échoué après la phase de préparation, ou si le point de terminaison de signature a renvoyé 409 parce qu’un certificat non expiré existe déjà, vous n’avez besoin ni d’un nouveau jeton ni d’une seconde émission. Terminez l’installation avec les éléments signés déjà présents sur le disque :
/etc/clicklink et gère les services). Sur Kubernetes, la CLI affiche le format complet, y compris --target helm, --target-namespace et --values ; utilisez la commande affichée telle quelle.
Connector hors ligne. Lorsque le connector est arrêté ou injoignable, les services qu’il gère continuent de fonctionner. Le ClickHouse Operator de votre cluster les maintient actifs, et l’executor ne se trouve pas sur le data path. Les changements de cycle de vie nécessitent que l’executor soit connecté : aucun n’est donc appliqué tant qu’il ne s’est pas reconnecté. Au redémarrage, l’executor récupère depuis sa base de données de commandes celles qui étaient en cours. Une commande que ClickHouse Cloud transmet de nouveau reçoit une réponse issue du résultat enregistré ; seule une commande ayant échoué est réexécutée. Pour les commandes de cycle de vie lorsqu’aucun executor n’est connecté, consultez lorsque le connector est hors ligne.
Désinstallation
VM Linux
uninstall.sh est inclus dans l’archive tar de la version. Si aucune archive tar extraite ne se trouve encore sur l’hôte, téléchargez-en et extrayez-en une (voir Téléchargement et vérification manuels). Exécutez uninstall.sh depuis le répertoire extrait :
clicklink-scraper, clicklink-troubleshooter et clicklink-executor, puis supprime les unités systemd et le binaire. Elle conserve les éléments suivants, afin qu’une réinstallation ultérieure puisse réutiliser la configuration existante :
/etc/clicklink, y compris les ensembles d’accès de l’executor sous/etc/clicklink/access/executor/var/lib/clicklink, y compris la base de données de commandes de l’executorexecutor.dbet le registre de services/var/log/clicklink- l’utilisateur
clicklink
clicklink-system ; supprimez-le lorsque plus rien ne l’utilise.
Kubernetes
helm.sh/resource-policy: keep : la désinstallation le conserve donc, avec la base de données de commandes et le registre de services qu’il contient. Les Secrets créés par init, le Secret du platform bundle écrit par platform approve et le ConfigMap du registre de services maintenu par l’executor n’appartiennent pas non plus au chart et survivent eux aussi à la désinstallation. Supprimez-les explicitement. Incluez la paire Secret d’accès / ServiceAccount de chaque instance que vous avez enregistrée vous-même, et de chaque service managé pour lequel vous avez provisionné le troubleshooter (nommée d’après le service). --ignore-not-found couvre les objects qui n’ont jamais été créés, comme le Secret du platform bundle avant une première approbation :
init a appliqué le grant cluster-wide de l’executor, et non celui du chart. Supprimez-le en tant qu’admin du cluster une fois qu’il ne reste plus aucun service managé :
La couche plateforme
La désinstallation du connector ne supprime pas la couche plateforme. Les namespaces et charges de travail de la plateforme, le RBACpcm-platform ainsi que les objects d’admission installés par vos approbations restent dans le cluster, tout comme l’ensemble des services managés. Supprimez d’abord les services ; voir supprimer un service. Sur un cluster de test dépourvu de services, clicklink clctl platform reset désinstalle les releases de la plateforme. Les CustomResourceDefinitions, le RBAC et la StorageClass qu’elle laisse subsister doivent être supprimés manuellement ; voir réinitialiser un cluster de test. En dehors d’un cluster de test, convenez d’un plan de suppression avec votre account team avant toute intervention sur la couche plateforme.
Utilisateurs ClickHouse
La désinstallation de l’une ou l’autre des cibles laisse les utilisateurs en lecture seule provisionnés en place sur les instances que vous avez enregistrées vous-même. Supprimez-les en tant qu’administrateur sur chaque instance (ajoutez votre--ch-user-suffix aux noms si vous en avez défini un) :