Mettre à niveau Apigee hybrid vers la version 1.11

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

Utilisez les mêmes procédures pour les mises à niveau de versions mineures (par exemple, de la version 1.10 vers la version 1.11) et pour les mises à niveau de versions de correctifs (par exemple, de la version 1.11.0 vers la version 1.11.1).

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

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

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.11.1 de l'environnement d'exécution hybride.

Prérequis

Ces instructions de mise à niveau supposent que vous avez installé Apigee hybrid 1.10.x et que vous souhaitez le mettre à niveau vers la version 1.11.1. 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.10.

Charts Helm et apigeectl

Dans la version 1.11, vous pouvez choisir d'installer et de gérer Apigee hybrid avec des charts Helm ou apigeectl. Apigee recommande d'utiliser Helm pour gérer votre installation.

Migrer vers la version 1.11 avec Helm à partir de la version 1.10 avec apigeectl

Pour passer à Apigee hybrid v1.11 géré par Helm à partir d'une installation hybride v1.10 gérée avec apigeectl, procédez comme suit :

  1. Commencez par migrer votre installation Helm v1.10 en suivant les instructions de la section Migrer des graphiques Apigee hybrid vers Helm depuis apigeectl.
  2. Suivez les instructions des graphiques Helm ci-dessous pour mettre à niveau votre installation.

Préparer la mise à niveau vers la version 1.11

Helm

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

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    macOS

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Windows

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. Créez une copie de sauvegarde de votre répertoire $APIGEE_HELM_CHARTS_HOME/ version 1.10. Vous pouvez utiliser n'importe quel processus de sauvegarde. Par exemple, vous pouvez créer un fichier tar contenant l'intégralité de votre répertoire à l'aide de la commande suivante :
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.10-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Sauvegardez votre base de données Cassandra en suivant les instructions figurant sur la page Sauvegarde et récupération de Cassandra.
  4. Si vous utilisez des fichiers de certificat de service (.json) dans vos remplacements pour authentifier les comptes de service, assurez-vous que vos fichiers de certificat de compte de service se trouvent dans le répertoire de chart Helm approprié. Les charts Helm ne peuvent pas lire les fichiers en dehors de chaque répertoire de chart.

    Cette étape n'est pas nécessaire si vous utilisez des secrets Kubernetes ou Workload Identity pour authentifier des comptes de service.

    Le tableau suivant indique la destination de chaque fichier de compte de service, en fonction de votre type d'installation :

    Prod

    Compte de service Nom de fichier par défaut Répertoire du chart Helm
    apigee-cassandra PROJECT_ID-apigee-cassandra.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    apigee-logger PROJECT_ID-apigee-logger.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-mart PROJECT_ID-apigee-mart.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-metrics PROJECT_ID-apigee-metrics.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-runtime PROJECT_ID-apigee-runtime.json $APIGEE_HELM_CHARTS_HOME/apigee-env
    apigee-synchronizer PROJECT_ID-apigee-synchronizer.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
    apigee-udca PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-watcher PROJECT_ID-apigee-watcher.json $APIGEE_HELM_CHARTS_HOME/apigee-org/

    Hors production

    Créez une copie du fichier de compte de service apigee-non-prod dans chacun des répertoires suivants :

    Compte de service Nom de fichier par défaut Répertoires du chart Helm
    apigee-non-prod PROJECT_ID-apigee-non-prod.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    $APIGEE_HELM_CHARTS_HOME/apigee-org/
    $APIGEE_HELM_CHARTS_HOME/apigee-env/
  5. Assurez-vous que votre certificat TLS et vos fichiers de clé (.crt, .key et/ou .pem) se trouvent dans le répertoire $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/.

apigeectl

Les exemples de ces instructions utilisent la structure de répertoires suivante. Votre installation peut être différente. Ajustez les instructions à la structure de votre installation.

hybrid-v1.11-root-directory/
└── apigeectl/
    └── config/
    └── plugins/
    └── templates/
    └── tools/
└── hybrid-files/
    └── overrides/
    └── service-accounts/
    └── certs/
hybrid-v1.10-root-directory/
  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.10. Par exemple :
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-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.

Mettre à niveau votre version de Kubernetes

Vérifiez la version de votre plate-forme Kubernetes et, si nécessaire, mettez à niveau votre plate-forme Kubernetes vers une version compatible avec les versions 1.10 et 1.11 d'Apigee hybrid. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme.

Installer l'environnement d'exécution hybride 1.11.1

Helm

Préparer la mise à niveau des charts Helm

  1. Extrayez les graphiques Helm Apigee.

    Les charts Apigee hybrid sont hébergés dans Google Artifact Registry :

    oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

    À l'aide de la commande pull, copiez tous les charts Helm Apigee hybrid sur votre espace de stockage local à l'aide de la commande suivante :

    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.11.1
    helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
    
  2. Installez cert-manager si nécessaire.

    Si vous devez mettre à niveau votre version de cert-manager, installez la nouvelle version à l'aide de la commande suivante :

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cert-manager.yaml
    
  3. Installez les CRD Apigee mises à jour :
    1. Utilisez la fonctionnalité de simulation kubectl en exécutant la commande suivante :

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
      
    2. Après avoir validé la commande avec la simulation, exécutez la commande suivante :

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
      
    3. Validez l'installation à l'aide de la commande kubectl get crds :
      kubectl get crds | grep apigee

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

      apigeedatastores.apigee.cloud.google.com                    2023-10-09T14:48:30Z
      apigeedeployments.apigee.cloud.google.com                   2023-10-09T14:48:30Z
      apigeeenvironments.apigee.cloud.google.com                  2023-10-09T14:48:31Z
      apigeeissues.apigee.cloud.google.com                        2023-10-09T14:48:31Z
      apigeeorganizations.apigee.cloud.google.com                 2023-10-09T14:48:32Z
      apigeeredis.apigee.cloud.google.com                         2023-10-09T14:48:33Z
      apigeerouteconfigs.apigee.cloud.google.com                  2023-10-09T14:48:33Z
      apigeeroutes.apigee.cloud.google.com                        2023-10-09T14:48:33Z
      apigeetelemetries.apigee.cloud.google.com                   2023-10-09T14:48:34Z
      cassandradatareplications.apigee.cloud.google.com           2023-10-09T14:48:35Z
      
  4. Vérifiez les libellés sur les nœuds de cluster. Par défaut, Apigee planifie les pods de données sur les nœuds portant le libellé cloud.google.com/gke-nodepool=apigee-data et les pods d'exécution sont programmés sur les nœuds portant le libellé cloud.google.com/gke-nodepool=apigee-runtime. Vous pouvez personnaliser les libellés de votre pool de nœuds dans le fichier overrides.yaml.

    Pour en savoir plus, consultez la page Configurer des pools de nœuds dédiés.

Installer les charts Helm Apigee hybrid

  1. Si ce n'est pas le cas, accédez à votre répertoire APIGEE_HELM_CHARTS_HOME. Exécutez les commandes suivantes à partir de ce répertoire.
  2. Mettez à niveau l'opérateur ou le contrôleur Apigee :

    Simulation :

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE
    

    Vérifiez l'installation de l'opérateur Apigee :

    helm ls -n apigee-system
    
    NAME           NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
    operator    apigee-system   3               2023-06-26 00:42:44.492009 -0800 PST    deployed        apigee-operator-1.11.1   1.11.1
    

    Vérifiez qu'il est opérationnel en vérifiant sa disponibilité :

    kubectl -n apigee-system get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
    
  3. Mettez à niveau le datastore Apigee :

    Simulation :

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Vérifiez que apigeedatastore est opérationnel en vérifiant son état :

    kubectl -n apigee get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
    
  4. Mettez à niveau la télémétrie Apigee :

    Simulation :

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Vérifiez qu'il est opérationnel en vérifiant son état :

    kubectl -n apigee get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
    
  5. Mettez à niveau Apigee Redis :

    Simulation :

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Vérifiez qu'il est opérationnel en vérifiant son état :

    kubectl -n apigee get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
    
  6. Mettez à niveau le gestionnaire d'entrée Apigee :

    Simulation :

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Vérifiez qu'il est opérationnel en vérifiant sa disponibilité :

    kubectl -n apigee get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
    
  7. Mettez à niveau l'organisation Apigee :

    Simulation :

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Mettez à niveau le graphique :

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Vérifiez qu'elle est opérationnelle en vérifiant l'état de l'organisation correspondante :

    kubectl -n apigee get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
    
  8. Mettez à niveau l'environnement.

    Vous devez installer un environnement à la fois. Spécifiez l'environnement avec --set env=ENV_NAME :

    Simulation :

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run
    
    • ENV_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique apigee-env. Dans la version 1.10 d'Apigee hybrid, il s'agit généralement de apigee-env-ENV_NAME. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_NAME.
    • ENV_NAME est le nom de l'environnement que vous mettez à niveau.
    • OVERRIDES_FILE est votre nouveau fichier de remplacement pour la version v1.11.1.

    Mettez à niveau le graphique :

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    

    Vérifiez qu'il est opérationnel en vérifiant l'état de l'environnement correspondant :

    kubectl -n apigee get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
    
  9. Mettez à jour les groupes d'environnement (virtualhosts).
    1. Vous devez installer un groupe d'environnements (hôte virtuel) à la fois. Spécifiez le groupe d'environnement avec --set envgroup=ENV_GROUP_NAME. Répétez les commandes suivantes pour chaque groupe d'environnements mentionné dans le fichier overrides.yaml :

      Simulation :

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE \
        --dry-run
      

      ENV_GROUP_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique apigee-virtualhost. Dans la version 1.10 d'Apigee hybrid, il s'agit généralement de apigee-virtualhost-ENV_GROUP_NAME. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_GROUP_NAME.

      Mettez à niveau le graphique :

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE
      
    2. Vérifiez l'état de la ressource ApigeeRoute (AR).

      L'installation de virtualhosts crée ApigeeRouteConfig (ARC) qui crée ApigeeRoute en interne une fois que l'observateur Apigee extrait les détails liés au groupe d'environnement du plan de contrôle. Par conséquent, vérifiez que l'état d'AR correspondant est en cours d'exécution :

      kubectl -n apigee get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      
      kubectl -n apigee get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d
      

apigeectl

  1. Stockez le dernier numéro de version dans une variable à l'aide de la commande suivante :

    Linux

    export VERSION=$(curl -s \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)

    macOS

    export VERSION=$(curl -s \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)

    Windows

    for /f "tokens=*" %a in ('curl -s ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^
    do set VERSION=%a
  2. À l'aide de la commande suivante, vérifiez que le numéro de version a bien été enregistré dans la variable. Si vous souhaitez utiliser une autre version, vous pouvez l'enregistrer dans une variable d'environnement à la place.
    echo $VERSION

    La dernière version d'Apigee hybrid devrait s'afficher :

      1.11.1
  3. 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/..
  4. 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/$VERSION/apigeectl_linux_64.tar.gz

    macOS

    Mac 64 bits :

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

    Windows

    Windows 64 bits :

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

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/

    macOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.10 
  6. 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.10 renommé :

    Linux

    tar xvzf filename.tar.gz -C ./

    macOS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  7. 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.11.1-xxxxxxx_linux_64. Changez le nom de ce répertoire en apigeectl à l'aide de la commande suivante :

    Linux

    mv apigeectl_1.11.1-xxxxxxx_linux_64 apigeectl

    macOS

    mv apigeectl_1.11.1-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.11.1-xxxxxxx_windows_64 apigeectl
  8. 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.

  9. 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%
  10. Vérifiez la version de apigeectl à l'aide de la commande version :
    ./apigeectl version
    Version: 1.11.1
  11. Créez un répertoire hybrid-base-directory/hybrid-files, puis accédez-y. 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 :

    Linux

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    macOS

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    Windows

    mkdir %APIGEECTL_HOME%/../hybrid-files
    cd %APIGEECTL_HOME%/../hybrid-files
  12. 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 \*
  13. 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
  14. 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.

  15. Si aucune erreur ne s'affiche, initialisez Apigee hybrid 1.11.1 :
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  16. 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.

  17. 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
  18. 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.11.1-hotfix.1.

Exécutez les commandes suivantes pour installer la version de correctif, 1.11.1-hotfix.1. Pour en savoir plus, consultez la page hybrid 1.11.1-hotfix.1 dans les notes de version d'Apigee.

  1. Ouvrez le fichier de remplacement.
  2. Commencez par mettre à jour votre fichier de remplacement. Suivez les instructions correspondant à l'outil que vous utilisez pour gérer Apigee hybrid, Helm ou apigeectl :

    Helm

    1. Dans le stanza istiod, remplacez la version du tag d'image (le cas échéant) par la version 1.17.8. Par exemple :
      istiod:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
          tag: "1.17.8-asm.20-distroless"
    2. Dans le stanza apigeeIngressGateway, remplacez la version du tag d'image (le cas échéant) par la version 1.17.8. Par exemple :
      apigeeIngressGateway:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.8-asm.20-distroless"
    3. Enregistrez le fichier.

    apigeectl

    1. Dans le stanza istiod, remplacez la version du tag d'image (le cas échéant) par la version 1.17.8. Par exemple :
      istiod:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
          tag: "1.17.8-asm.20-distroless"
    2. 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.8. Par exemple, si vous disposez d'un stanza ingressGateway:
      ingressGateway:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.8-asm.20-distroless"

      Ou, si vous avez un stanza ingressGateways:

      ingressGateways:
        - name: gateway1
          image:
            url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
            tag: "1.17.8-asm.20-distroless"
          ...
        - name: gateway2
          image:
            url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
            tag: "1.17.8-asm.20-distroless"
          ... 
    3. Enregistrez le fichier.
  3. Ensuite, appliquez les modifications. Suivez les instructions correspondant à l'outil que vous utilisez pour gérer Apigee hybrid, Helm ou apigeectl :

    Helm

    1. Installez le chart apigee-ingress-manager à l'aide de la commande suivante :
      helm upgrade ingress-manager apigee-ingress-manager/ \
        --install \
        --namespace "YOUR_APIGEE_NAMESPACE" \
        --atomic \
        -f OVERRIDES_FILE
      
    2. Installez le chart apigee-org à l'aide de la commande suivante :
      helm upgrade ORG_NAME apigee-org/ \
          --install \
          --namespace "YOUR_APIGEE_NAMESPACE" \
          --atomic \
          -f OVERRIDES_FILE
    3. Vérifiez l'état des pods :
      kubectl get pods -n YOUR_APIGEE_NAMESPACE

    apigeectl

    1. 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
    2. 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
    3. Vérifiez l'état des pods :
      kubectl get pods -n YOUR_APIGEE_NAMESPACE

Effectuer un rollback de la mise à niveau

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

Helm

Pour revenir à la version précédente, utilisez les graphiques et le fichier de remplacement de l'installation précédente.

  1. Créez la variable d'environnement suivante :
    • PREVIOUS_HELM_CHARTS_HOME : Répertoire dans lequel les graphiques Helm Apigee hybrid précédents sont installés. Il s'agit de la version vers laquelle vous effectuez le rollback.
  2. Effectuer un rollback des hôtes virtuels. Répétez la commande suivante pour chaque groupe d'environnements mentionné dans le fichier de remplacement.
    helm upgrade ENV_GROUP_RELEASE_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-virtualhost/ \
      --namespace apigee \
      --atomic \
      --set envgroup=ENV_GROUP_NAME \
      -f PREVIOUS_OVERRIDES_FILE
    

    ENV_GROUP_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique apigee-virtualhost. Dans la version 1.10 d'Apigee hybrid, il s'agit généralement de apigee-virtualhost-ENV_GROUP_NAME. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_GROUP_NAME.

  3. Effectuer un rollback des environnements Répétez la commande suivante pour chaque environnement mentionné dans le fichier de remplacement.
    helm upgrade apigee-env-ENV_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=ENV_NAME \
      -f PREVIOUS_OVERRIDES_FILE
    

    ENV_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique apigee-env. Dans la version 1.10 d'Apigee hybrid, il s'agit généralement de apigee-env-ENV_NAME. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_NAME.

  4. Effectuer un rollback de l'organisation :
    helm upgrade ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  5. Effectuez un rollback du gestionnaire d'entrée :
    helm upgrade ingress-manager $PREVIOUS_HELM_CHARTS_HOME/apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  6. Effectuer un rollback de Redis :
    helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  7. Effectuer un rollback d'Apigee Telemetry :
    helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  8. Effectuez un rollback d'Apigee Datastore (le composant de base de données Cassandra) :
    helm upgrade datastore $PREVIOUS_HELM_CHARTS_HOME/apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  9. Effectuez un rollback du contrôleur Apigee :
    helm upgrade operator $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  10. Effectuez un rollback des CRD Apigee hybrid :
      kubectl apply -k  $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
    

apigeectl

  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. Exécutez les commandes suivantes dans le répertoire racine de l'installation vers laquelle vous souhaitez effectuer un rollback. 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.10.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