Mettre à niveau Apigee hybrid vers la version 1.9

{version_1.0.1 d

Cette procédure concerne la mise à niveau d'Apigee hybrid de la version 1.8.x vers la version 1.9.4 et depuis les versions précédentes d'Apigee hybrid de la version 1.9.x vers la version 1.9.4.

Utilisez les mêmes procédures pour les mises à niveau de versions mineures (par exemple, de la version 1.8 vers la version 1.9) et pour les mises à niveau de versions de correctifs (par exemple, de la version 1.9.0 vers la version 1.9.4).

Si vous effectuez une mise à niveau à partir de la version 1.7 d'Apigee hybrid ou d'une version antérieure, vous devez d'abord passer à la version 1.8 avant de migrer vers la version 1.9.4. Consultez les instructions de mise à niveau d'Apigee hybrid vers la version 1.8.

À partir de la version 1.9.0, Apigee hybrid n'accepte que la passerelle d'entrée Apigee en tant que couche d'entrée.

Présentation de la mise à niveau vers la version 1.9.4

Les procédures de mise à niveau d'Apigee hybrid sont organisées dans les sections suivantes :

  1. Préparez la mise à niveau.
  2. Installez la version 1.9.4 de l'environnement d'exécution hybride.

Prérequis

  • Ces instructions de mise à niveau supposent que vous avez installé Apigee hybrid 1.8.x et que vous souhaitez le mettre à jour vers la version 1.9.4. Si vous effectuez une mise à jour à partir d'une version antérieure, consultez les instructions figurant dans la section Mettre à niveau Apigee hybrid vers la version 1.8.
  • Dans la version 1.8 d'Apigee hybrid, nous avons introduit la passerelle d'entrée Apigee en tant que couche d'entrée alternative à Anthos Service Mesh. À partir de la version 1.9.0, Apigee hybrid nécessite l'utilisation de la passerelle d'entrée Apigee et n'est plus compatible avec l'utilisation d'Anthos Service Mesh pour l'entrée. Si l'installation à partir de laquelle vous effectuez la mise à niveau utilise Anthos Service Mesh, vous devez d'abord passer à la passerelle d'entrée Apigee avant d'effectuer la mise à niveau vers la version 1.9.4

    La passerelle d'entrée Apigee utilise un petit sous-ensemble de fonctionnalités d'Anthos Service Mesh pour la passerelle d'entrée. La gestion et la mise à niveau de ces fonctionnalités sont gérées automatiquement par Apigee hybrid. Par conséquent, vous n'avez pas besoin d'expertise sur Anthos Service Mesh pour installer, mettre à niveau et gérer la passerelle d'entrée Apigee hybrid.

    Consultez la page Migrer vers la passerelle d'entrée Apigee dans la documentation d'Apigee hybrid v1.8 pour obtenir des instructions.

Préparer la mise à niveau vers la version 1.9

  1. Ces instructions utilisent la variable d'environnement APIGEECTL_HOME pour le répertoire de votre système de fichiers sur lequel vous avez installé apigeectl. Si nécessaire, accédez au répertoire apigeectl et définissez la variable en utilisant la commande suivante :

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  2. Créez une copie de sauvegarde de votre répertoire $APIGEECTL_HOME/ version 1.8. Exemple :
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.8-backup.tar.gz $APIGEECTL_HOME
  3. Sauvegardez votre base de données Cassandra en suivant les instructions figurant sur la page Sauvegarde et récupération de Cassandra.

Ajoutez le rôle Agent Cloud Trace au compte de service pour l'environnement d'exécution Apigee. (Facultatif)

Facultatif : Si vous prévoyez d'utiliser Cloud Trace et que vous n'avez pas encore ajouté le rôle Cloud Trace Agent à votre installation hybrid v1.8, assurez-vous que le compte de service de vos services d'exécution Apigee dispose du rôle Google Cloud IAM Agent Cloud Trace (roles/cloudtrace.agent).

Pour les environnements de production, le compte de service d'exécution est apigee-runtime. Pour les environnements hors production, le compte de service d'exécution est apigee-non-prod.

Vous pouvez ajouter le rôle dans Cloud Console > IAM et administration > Comptes de service, ou à l'aide des commandes suivantes :

  1. Récupérez l'adresse e-mail de votre compte de service à l'aide de la commande suivante :

    Production

    gcloud iam service-accounts list --filter "apigee-runtime"

    Si l'adresse e-mail correspond au format apigee-runtime@$ORG_NAME.iam.gserviceaccount.com, vous pouvez utiliser ce format à l'étape suivante.

    Hors production

    gcloud iam service-accounts list --filter "apigee-non-prod"

    Si elle correspond au modèle apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com, vous pouvez utiliser ce modèle à l'étape suivante.

  2. Attribuez le rôle Agent Cloud Trace au compte de service :

    Production

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    Hors production

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    Exemple

    gcloud projects add-iam-policy-binding hybrid-example-project \
        --member="serviceAccount:apigee-runtime@hybrid-example-project.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    $PROJECT_ID est le nom du projet Google Cloud dans lequel Apigee hybrid est installé.

Installer la passerelle d'entrée Apigee si votre installation utilise Anthos Service Mesh

À partir de la version 1.9, Apigee hybrid n'est plus compatible avec l'utilisation d'Anthos Service Mesh pour l'entrée. Si votre installation hybride utilise Anthos Service Mesh, vous devez migrer votre installation actuelle vers la passerelle d'entrée Apigee avant d'installer la version 1.9.

  1. Ajoutez la propriété ingressGateways à votre fichier de remplacement.

    Syntaxe

      ingressGateways:
      - name: INGRESS_NAME
        replicaCountMin: REPLICAS_MIN
        replicaCountMax: REPLICAS_MAX
        resources:
          requests:
            cpu: CPU_COUNT_REQ
            memory: MEMORY_REQ
          limits:
            cpu: CPU_COUNT_LIMIT
            memory: MEMORY_LIMIT
        svcAnnotations:  # optional. See Known issue 243599452.
          SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
        svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

    Exemple

      ingressGateways:
      - name: prod1
        replicaCountMin: 2
        replicaCountMax: 100
        resources:
          requests:
            cpu: 1
            memory: 1Gi
          limits:
            cpu: 2
            memory: 2Gi
        svcAnnotations:  # optional. See Known issue 243599452.
          networking.gke.io/load-balancer-type: "Internal"
        svcLoadBalancerIP: 198.252.0.123 
    • INGRESS_NAME : nom du déploiement d'entrée. Il peut s'agir de n'importe quel nom qui répond aux exigences suivantes :
      • ne pas comporter plus de 17 caractères ;
      • ne contenir que des caractères alphanumériques en minuscules et des caractères '-' ou '.' ;
      • commencer par un caractère alphanumérique ;
      • se terminer par un caractère alphanumérique.
      Consultez la section ingressGateways[].name dans la documentation de référence sur les propriétés de configuration.
    • REPLICAS_MIN et REPLICAS_MAX correspondent au nombre minimal et au nombre maximal d'instances répliquées pour la passerelle d'entrée Apigee dans votre installation. Pour en savoir plus et pour connaître les paramètres par défaut, consultez les sections ingressGateways[].replicaCountMin et ingressGateways[].replicaCountMax dans la documentation de référence sur les propriétés de configuration.
    • CPU_COUNT_REQ et MEMORY_REQ correspondent aux demandes de ressources processeur et mémoire pour chaque instance répliquée de la passerelle d'entrée Apigee de votre installation.

      Pour en savoir plus et pour connaître les paramètres par défaut, consultez les sections ingressGateways[].resources.requests.cpu et ingressGateways[].resources.requests.memory dans la documentation de référence sur les propriétés de configuration.

    • CPU_COUNT_LIMIT et MEMORY_LIMIT correspondent aux limites maximales de ressources processeur et mémoire pour chaque instance répliquée de la passerelle d'entrée Apigee de votre installation.

      Pour en savoir plus et pour connaître les paramètres par défaut, consultez les sections ingressGateways[].resources.limits.cpu et ingressGateways[].resources.limits.memory dans la documentation de référence sur les propriétés de configuration.

    • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (facultatif) :

      Il s'agit d'une paire clé-valeur qui fournit des annotations pour votre service d'entrée par défaut. Les annotations sont utilisées par votre plate-forme cloud pour vous aider à configurer votre installation hybride, par exemple pour définir le type d'équilibreur de charge sur interne ou externe. Exemple :

      ingressGateways:
          svcAnnotations:
            networking.gke.io/load-balancer-type: "Internal"

      Les annotations varient selon les plates-formes. Reportez-vous à la documentation de votre plate-forme pour connaître les annotations requises et celles suggérées.

      Consultez la section ingressGateways[].svcAnnotations dans la documentation de référence sur les propriétés de configuration.
    • SVC_LOAD_BALANCER_IP (facultatif) vous permet d'attribuer une adresse IP statique à votre équilibreur de charge. Sur les plates-formes compatibles avec la spécification de l'adresse IP de l'équilibreur de charge, celui-ci est créé avec cette adresse IP. Sur les plates-formes qui ne permettent pas de spécifier l'adresse IP de l'équilibreur de charge, cette propriété est ignorée.

      Si aucune adresse IP statique n'est allouée à votre équilibreur de charge, omettez cette propriété dans votre fichier de remplacement.

      Consultez la section ingressGateways[].svcLoadBalancerIP dans la documentation de référence sur les propriétés de configuration.
  2. Appliquez les modifications pour installer la passerelle d'entrée Apigee à l'aide des commandes suivantes :
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  3. Exposez la passerelle d'entrée Apigee. Suivez les procédures décrites dans la section Exposer la passerelle d'entrée Apigee.
  4. Testez votre nouvelle passerelle d'entrée en appelant un proxy. Idéalement, testez tous les proxys essentiels que vous avez actuellement déployés.
  5. Pour basculer le trafic, mettez à jour vos enregistrements DNS pour qu'ils pointent vers l'adresse IP de votre nouvelle passerelle d'entrée Apigee. En fonction de votre fournisseur DNS, vous pourrez peut-être transférer progressivement le trafic vers le nouveau point de terminaison. Conseil : Vous pouvez trouver l'adresse IP externe de la passerelle d'entrée Apigee à l'aide de la commande suivante :
    kubectl get svc -n apigee -l app=apigee-ingressgateway

    Le résultat doit se présenter sous la forme suivante :

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  6. Assurez-vous que tout le trafic d'exécution fonctionne en surveillant vos tableaux de bord. Ne passez à l'étape suivante que si tout fonctionne comme prévu. Assurez-vous qu'aucun trafic ne passe par votre ancienne passerelle d'entrée (Anthos Service Mesh), car la mise à jour du DNS peut être lente à cause de la mise en cache DNS.
  7. Pour empêcher Apigee de fournir la configuration à Anthos Service Mesh, suivez les étapes décrites dans la section Arrêter de fournir la configuration à ASM dans le guide Gérer les passerelles d'entrée Apigee.
  8. Testez et surveillez le trafic du proxy d'API.
  9. Suivez les instructions de la documentation Anthos Service Mesh pour désinstaller Anthos Service Mesh du cluster.

Installer l'environnement d'exécution hybride 1.9.4

  1. Vérifiez que vous êtes bien dans le répertoire de base hybrid (c'est-à-dire le répertoire parent du répertoire dans lequel se trouve le fichier exécutable apigeectl) :
    cd $APIGEECTL_HOME/..
  2. Téléchargez le package de la version correspondant à votre système d'exploitation à l'aide de la commande suivante : Veillez à sélectionner la bonne plate-forme dans le tableau suivant :

    Linux

    Linux 64 bits :

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_linux_64.tar.gz

    macOS

    Mac 64 bits :

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_mac_64.tar.gz

    Windows

    Windows 64 bits :

    curl -LO ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_windows_64.zip
  3. Remplacez le nom du répertoire apigeectl/ actuel par un nom de répertoire de sauvegarde. Exemple :

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/

    macOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.8 
  4. Extrayez le contenu du fichier gzip téléchargé dans votre répertoire de base hybride. Le répertoire de base hybrid est le répertoire dans lequel se trouve le répertoire apigeectl-v1.8 renommé :

    Linux

    tar xvzf filename.tar.gz -C ./

    macOS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  5. Par défaut, le contenu du fichier tar est décompressé dans un répertoire dont le nom contient la version et la plate-forme. Exemple : ./apigeectl_1.9.4-xxxxxxx_linux_64. Changez le nom de ce répertoire en apigeectl à l'aide de la commande suivante :

    Linux

    mv apigeectl_1.9.4-xxxxxxx_linux_64 apigeectl

    macOS

    mv apigeectl_1.9.4-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.9.4-xxxxxxx_windows_64 apigeectl
  6. Accédez au répertoire apigeectl :
    cd ./apigeectl

    Ce répertoire correspond au répertoire d'accueil apigeectl. Il s'agit de l'emplacement de la commande exécutable apigeectl.

  7. Ces instructions utilisent la variable d'environnement $APIGEECTL_HOME pour le répertoire de votre système de fichiers dans lequel l'utilitaire apigeectl est installé. Si nécessaire, accédez au répertoire apigeectl et définissez la variable en utilisant la commande suivante :

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  8. Vérifiez la version de apigeectl à l'aide de la commande version :
    ./apigeectl version
    Version: 1.9.4
  9. Accédez au répertoire hybrid-base-directory/hybrid-files. Le répertoire hybrid-files correspond à l'emplacement où se trouvent les fichiers de configuration, tels que le fichier de remplacement, les certificats et les comptes de service. Exemple :
    cd $APIGEECTL_HOME/../hybrid-files
  10. Vérifiez que kubectl est défini sur le bon contexte à l'aide de la commande suivante. Le contexte actuel doit être défini sur le cluster dans lequel vous mettez à niveau Apigee hybrid.
    kubectl config get-contexts | grep \*
  11. Dans le répertoire hybrid-files :
    1. Mettez à jour les liens symboliques suivants de sorte qu'ils pointent vers $APIGEECTL_HOME. Ces liens vous permettent d'exécuter la commande apigeectl nouvellement installée à partir du répertoire hybrid-files :
      ln -nfs $APIGEECTL_HOME/tools tools
      ln -nfs $APIGEECTL_HOME/config config
      ln -nfs $APIGEECTL_HOME/templates templates
      ln -nfs $APIGEECTL_HOME/plugins plugins
    2. Pour vérifier que les liens symboliques ont été créés correctement, exécutez la commande suivante et assurez-vous que les chemins d'accès aux liens pointent vers les emplacements appropriés :
      ls -l | grep ^l
  12. Effectuez une initialisation en test à blanc (dry run) pour rechercher d'éventuelles erreurs :
    ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client

    OVERRIDES_FILE est le nom de votre fichier de remplacement, par exemple ./overrides/overrides.yaml.

  13. Si aucune erreur ne s'affiche, initialisez Apigee hybrid 1.9.4 :
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  14. Vérifiez l'état d'initialisation :
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    En cas de réussite, le résultat indique : All containers ready.

    kubectl describe apigeeds -n apigee

    Dans le résultat, recherchez State: running.

  15. Recherchez les erreurs à l'aide d'une simulation de la commande apply utilisant l'option --dry-run :
    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
  16. Si aucune erreur ne s'affiche, appliquez vos remplacements. Sélectionnez et suivez les instructions pour les environnements de production ou hors production, selon votre installation.

    Production

    Pour les environnements de production, mettez à niveau chaque composant Apigee hybrid individuellement, puis vérifiez l'état du composant mis à niveau avant de passer au composant suivant.

    1. Assurez-vous d'être dans le répertoire hybrid-files.
    2. Appliquez vos remplacements pour mettre à niveau Cassandra :
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
    3. Vérifiez que l'opération est terminée :
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

      Ne passez à l'étape suivante que lorsque les pods sont prêts.

    4. Appliquez vos remplacements pour mettre à niveau les composants Telemetry, puis vérifiez que l'opération est terminée :
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    5. Afficher les composants Redis :
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
    6. Appliquez vos remplacements pour mettre à niveau les composants au niveau de l'organisation (MART, Watcher et Apigee Connect), puis vérifiez que l'opération est terminée :
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    7. Appliquez vos remplacements pour mettre à niveau vos environnements. Deux possibilités s'offrent à vous :
      • Environnement par environnement : appliquez vos remplacements à un environnement à la fois et vérifiez que l'opération est terminée. Répétez cette étape pour chaque environnement :
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

        ENV_NAME est le nom de l'environnement que vous mettez à niveau.

      • Tous les environnements à la fois : appliquez vos remplacements à tous les environnements en même temps et vérifiez que l'opération est terminée :
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    8. Appliquez vos remplacements pour mettre à niveau les composants virtualhosts, puis vérifiez que l'opération est terminée :
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    Hors production

    Dans la plupart des environnements hors production, de démonstration ou expérimentaux, vous pouvez appliquer vos remplacements simultanément sur tous les composants. Si votre environnement hors production est volumineux et complexe, ou s'il imite fidèlement un environnement de production, vous pouvez suivre les instructions de mise à niveau des environnements de production.

    1. Assurez-vous d'être dans le répertoire hybrid-files.
    2. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
    3. Vérifiez l'état :
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

Installez 1.9.4-hotfix.1.

Pour installer la version de correctif, 1.9.4-hotfix.1, procédez comme suit:

  1. Avant de suivre cette procédure, vous devez utiliser Apigee hybrid version 1.9.4 ou ultérieure. Si vous n'utilisez pas la version 1.9.4 ou une version ultérieure, effectuez une mise à niveau vers la version 1.9.4 avant de continuer.
  2. Ouvrez votre fichier overrides.yaml.
  3. Dans le stanza istiod, remplacez la version du tag d'image (le cas échéant) par la version 1.17.7. Par exemple :
    istiod:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
        tag: "1.17.7-asm.0-distroless"
  4. Selon la manière dont vous avez choisi d'installer Apigee hybrid, vous pouvez avoir un stanza ingressGateway ou ingressGateways. Recherchez le stanza qui s'affiche dans votre fichier de remplacement et remplacez la version du tag d'image (le cas échéant) par la version 1.17.7. Par exemple, si vous disposez d'un stanza ingressGateway:
    ingressGateway:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
        tag: "1.17.7-asm.0-distroless"

    Ou, si vous avez un stanza ingressGateways:

    ingressGateways:
      - name: gateway1
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.7-asm.0-distroless"
        ...
      - name: gateway2
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.7-asm.0-distroless"
        ...
      
  5. Enregistrez le fichier.
  6. Exécutez la commande suivante pour initialiser le composant istiod:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  7. Exécutez la commande suivante pour appliquer les modifications aux composants d'entrée Apigee. Si vous avez plusieurs organisations, répétez cette commande pour chacune d'elles:
    $APIGEECTL_HOME/apigeectl apply --org -f OVERRIDES_FILE
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  8. Vérifiez l'état des pods :
    kubectl get pods -n YOUR_APIGEE_NAMESPACE

Mettre à niveau votre version de Kubernetes

Mettez à niveau votre plate-forme Kubernetes vers les versions compatibles avec hybrid en version 1.9. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme.

Effectuer un rollback de la mise à niveau

Suivez ces étapes ci-dessous pour effectuer le rollback vers une mise à niveau précédente :

  1. Nettoyez les tâches terminées pour l'espace de noms d'exécution hybride, où NAMESPACE correspond à l'espace de noms spécifié dans votre fichier de remplacement, si vous avez spécifié un espace de noms. Si ce n'est pas le cas, l'espace de noms par défaut est apigee :
    kubectl delete job -n NAMESPACE \
      $(kubectl get job -n NAMESPACE \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. Nettoyez les tâches terminées pour l'espace de noms apigee-system :
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  3. Modifiez la variable APIGEECTL_HOME pour qu'elle pointe en direction du répertoire contenant la version précédente de apigeectl. Par exemple :
    export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
  4. Dans le répertoire racine de l'installation à restaurer, exécutez apigeectl apply, vérifiez l'état de vos pods, puis exécutez apigeectl init. Veillez à utiliser le fichier de remplacement d'origine pour la version vers laquelle vous souhaitez effectuer un rollback :
    1. Dans le répertoire hybrid-files, exécutez apigeectl apply :
      $APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE

      ORIGINAL_OVERRIDES_FILE correspond au chemin d'accès relatif et au nom du fichier de remplacement pour l'installation hybride de votre version précédente, par exemple, ./overrides/overrides1.8.yaml.

    2. Vérifiez l'état des pods :
      kubectl -n NAMESPACE get pods

      NAMESPACE est votre espace de noms Apigee hybrid.

    3. Vérifiez l'état de apigeeds :
      kubectl describe apigeeds -n apigee

      Le résultat doit se présenter sous la forme suivante :

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running
      

      Ne passez à l'étape suivante que lorsque le pod apigeeds est en cours d'exécution.

    4. Exécutez la commande suivante pour noter les valeurs de votre nouveau nombre d'instances répliquées pour le processeur de messages après la mise à niveau. Si ces valeurs ne correspondent pas à celles que vous avez définies précédemment, modifiez-les dans votre fichier de remplacement en fonction de votre configuration précédente.
      apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2

      Le résultat doit se présenter sous la forme suivante :

            autoScaler:
              minReplicas: 2
              maxReplicas: 10
    5. Exécutez apigeectl init :
      $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE