Accéder au contenu principal Passer au contenu complémentaire

Procédure spéciale pour effectuer une mise à niveau de Dynamic Engine en 1.3.0

La version 1.3.0 de Dynamic Engine modifie la manière dont sont installés les services. Si votre Dynamic Engine est actuellement en version 1.2.x ou antérieure, vous devez préparer votre cluster pour la mise à niveau en nettoyant ou en réattribuant des ressources existantes, que votre déploiement soit basé sur Helm ou sur des manifestes.

Note InformationsAvertissement : Suivez cette procédure de préparation uniquement si vous effectuez une mise à niveau vers Dynamic Engine 1.3.0 à partir d'une version antérieure à la 1.3.0. Si vous installez Dynamic Engine 1.3.0 pour la première fois, ces étapes ne s'appliquent pas.

Pourquoi et quand exécuter cette tâche

Dynamic Engine 1.3.0 comprend une modification architecturale importante dans la manière dont Helm gère les charts de service. Dans ses versions antérieures, le Dynamic Engine utilisait une installation asynchrone, avec des services déployés comme groupes séparés. La version 1.3.0 utilise une installation synchrone, embarquant tous les services dans le Dynamic Engine principal et les charts Helm d'environnements.

Cette modification architecturale demande deux étapes clés de préparation : réattribuer la propriété des ressources à la nouvelle structure et nettoyer les métadonnées Helm héritées.

Procédure

  1. Collectez les identifiants pour votre Dynamic Engine et ses environnements.
    Avant de commencer, rassemblez les informations suivantes :
    • L'ID de votre Dynamic Engine (par exemple : c-m-bdjp7fov) et son espace de noms Kubernetes (par exemple : dynamic-engine-ns). Exécutez cette commande pour les obtenir : kubectl get de -A
    • L'ID de l'environnement de votre Dynamic Engine (par exemple : 6980a2850c0ed65c5a214d07) et son espace de noms Kubernetes (par exemple : dynamic-engine-poc-env-ns). Exécutez cette commande pour les obtenir : kubectl get de -A

      Répétez cette étape pour chaque environnement que vous gérez.

    • Noms des versions Helm pour votre Dynamic Engine et son environnement : leurs valeurs par défaut sont dynamic-engine et dynamic-engine-env, avec une installation dans l'espace de noms default.
  2. Réattribuer des services principaux à la nouvelle version du Dynamic Engine.

    La commande get liste toutes les ressources Kubernetes appartenant aux services reloader et docker-registry. La commande annotate réattribue la propriété de ces ressources à la nouvelle version consolidée du Dynamic Engine :

    # check
    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)'
    
    # patch
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)' \
      meta.helm.sh/release-name=dynamic-engine meta.helm.sh/release-namespace=default --overwrite

    Remplacez la valeur factice $DYNAMIC_ENGINE_NAMESPACE par l'espace de noms de votre Dynamic Engine, dynamic-engine-ns dans cet exemple.

  3. Réattribuez les services d'environnement à la nouvelle version de l'environnement.

    Cette commande get liste tous les services dans un environnement de Dynamic Engine donné. La commande annotate transfère toutes les ressources de votre environnement vers la nouvelle version consolidée de l'environnement :

    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID'
    
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID' \
      meta.helm.sh/release-name=dynamic-engine-env meta.helm.sh/release-namespace=default --overwrite

    Remplacez les valeurs factices par vos valeurs réelles, par exemple :

    • $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE : dynamic-engine-poc-env-ns
    • $DYNAMIC_ENGINE_ENVIRONMENT_ID : 6980a2850c0ed65c5a214d07

    Répétez cette étape une fois pour chacun de vos environnements.

  4. Supprimez d'anciens secrets Helm du déploiement du Dynamic Engine et de ses environnements. Le Dynamic Engine v1.3.0 n'utilise plus ces anciens secrets.
    • Pour Dynamic Engine :
      kubectl get secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'

      Remplacez la valeur factice $DYNAMIC_ENGINE_NAMESPACE par l'espace de noms de votre Dynamic Engine.

      Cette commande get liste les secrets appartenant à reloader et docker-registry. La commande delete les supprime.

    • Pour les environnements de Dynamic Engine :
      kubectl get secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      Remplacez $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE et $DYNAMIC_ENGINE_ENVIRONMENT_ID par les valeurs réelles.
  5. Suivez la procédure de mise à niveau standard documentée dans la section Mise à niveau de la version de Dynamic Engine pour mettre à niveau votre Dynamic Engine et ses environnements en version 1.3.0.
    Prérequis pour l'étape : après avoir téléchargé le ZIP de déploiement et avant d'appliquer les fichiers de valeurs, assurez-vous que la propriété du code de région Cloud est présente dans le fichier de valeurs, pour chaque environnement.
    global:
      talendCloudRegion: <region_code>
    Ce code de région se trouve dans l'URL de votre service Talend Management Console.

Résultats

La mise à niveau s'est bien terminée et les services sont à présent consolidés. Exécutez cette commande pour vérifier :

helm ls -A

Tous les services doivent avoir le statut deployed :

NAME                    NAMESPACE  STATUS    CHART
dynamic-engine-crd     default    deployed  dynamic-engine-crd-1.3.0
dynamic-engine         default    deployed  dynamic-engine-1.3.0
dynamic-engine-env     default    deployed  dynamic-engine-environment-1.3.0

Toutes vos données et configurations restent inchangées. Seule la manière dont les services sont organisés a été modifiée.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.