Cette procédure concerne la mise à niveau d'Apigee hybrid de la version 1.9.x vers la version 1.10.5 et depuis les versions précédentes d'Apigee hybrid de la version 1.10.x vers la version 1.10.5.
Utilisez les mêmes procédures pour les mises à niveau de versions mineures (par exemple, de la version 1.9 vers la version 1.10) et pour les mises à niveau de versions de correctifs (par exemple, de la version 1.10.0 vers la version 1.10.5).
Présentation de la mise à niveau vers la version 1.10.5
Les procédures de mise à niveau d'Apigee hybrid sont organisées dans les sections suivantes :
Prérequis
Ces instructions de mise à niveau supposent que vous avez installé Apigee hybrid 1.9.x et que vous souhaitez le mettre à niveau vers la version 1.10.5. 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.9.
Préparer la mise à niveau vers la version 1.10
Sauvegarder votre installation hybride (recommandé)
- 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épertoireapigeectlet définissez la variable en utilisant la commande suivante :Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEmacOSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEWindowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME%
- Créez une copie de sauvegarde de votre répertoire $APIGEECTL_HOME/version 1.9. Par exemple :tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- 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.9 et 1.10 d'Apigee hybrid. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme.
Installer l'environnement d'exécution hybride 1.10.5
- 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/.. 
- 
    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 : LinuxLinux 64 bits : curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz macOSMac 64 bits : curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz WindowsWindows 64 bits : curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip 
- Remplacez le nom du répertoire apigeectl/actuel par un nom de répertoire de sauvegarde. Exemple :Linuxmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ macOSmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ Windowsrename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9 
- 
    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.9renommé :Linuxtar xvzf filename.tar.gz -C ./ macOStar xvzf filename.tar.gz -C ./ Windowstar xvzf filename.zip -C ./ 
- 
    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.10.5-xxxxxxx_linux_64. Changez le nom de ce répertoire enapigeectlà l'aide de la commande suivante :Linuxmv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl macOSmv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl Windowsrename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl 
- 
     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écutableapigeectl.
- Ces instructions utilisent la variable d'environnement $APIGEECTL_HOMEpour le répertoire de votre système de fichiers dans lequel l'utilitaireapigeectlest installé. Si nécessaire, accédez au répertoireapigeectlet définissez la variable en utilisant la commande suivante :Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME macOSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME Windowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME% 
- Vérifiez la version de apigeectlà l'aide de la commandeversion:./apigeectl version Version: 1.10.5 
- Créez un répertoire hybrid-base-directory/hybrid-files, puis accédez-y. Le répertoirehybrid-filescorrespond à l'emplacement où se trouvent les fichiers de configuration, tels que le fichier de remplacement, les certificats et les comptes de service. Exemple :Linuxmkdir $APIGEECTL_HOME/../hybrid-files cd $APIGEECTL_HOME/../hybrid-files macOSmkdir $APIGEECTL_HOME/../hybrid-files cd $APIGEECTL_HOME/../hybrid-files Windowsmkdir %APIGEECTL_HOME%/../hybrid-files cd %APIGEECTL_HOME%/../hybrid-files 
- Vérifiez que kubectlest 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 \* 
- Dans le répertoire hybrid-files:- 
    Mettez à jour les liens symboliques suivants de sorte qu'ils pointent vers $APIGEECTL_HOME. Ces liens vous permettent d'exécuter la commandeapigeectlnouvellement installée à partir du répertoirehybrid-files:ln -nfs $APIGEECTL_HOME/tools toolsln -nfs$APIGEECTL_HOME/config configln -nfs$APIGEECTL_HOME/templates templatesln -nfs$APIGEECTL_HOME/plugins plugins
- 
    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 
 
- 
    Mettez à jour les liens symboliques suivants de sorte qu'ils pointent vers 
- Apportez la modification suivante à votre fichier overrides.yaml pour activer le graphique apigee-operatorou utiliser la balise appropriée,1.10.5-hotfix.1:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Effectuez une initialisation en test à blanc (dry run) pour rechercher d'éventuelles erreurs :
      ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=clientOù OVERRIDES_FILE est le nom de votre fichier de remplacement, par exemple ./overrides/overrides.yaml.
- Si aucune erreur ne s'affiche, initialisez Apigee hybrid 1.10.5 :
      $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE 
- 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.
- Recherchez les erreurs à l'aide d'une simulation de la commande applyutilisant l'option--dry-run:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client 
- 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.
      ProductionPour 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. - Assurez-vous d'être dans le répertoire hybrid-files.
- Appliquez vos remplacements pour mettre à niveau Cassandra :
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore 
- 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. 
- 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 
- Afficher les composants Redis :
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis 
- 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 
- 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 Où 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 
 
- 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 :
                  
- 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 productionDans 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. - Assurez-vous d'être dans le répertoire hybrid-files.
- $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE 
- Vérifiez l'état :
              $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 
- Assurez-vous d'être dans le répertoire 
Effectuer un rollback de la mise à niveau
Suivez ces étapes ci-dessous pour effectuer le rollback vers une mise à niveau précédente :
- 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}')
- 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}')
- Modifiez la variable APIGEECTL_HOMEpour qu'elle pointe en direction du répertoire contenant la version précédente deapigeectl. Par exemple :export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY 
- Dans le répertoire racine de l'installation à restaurer, exécutez apigeectl apply, vérifiez l'état de vos pods, puis exécutezapigeectl init. Veillez à utiliser le fichier de remplacement d'origine pour la version vers laquelle vous souhaitez effectuer un rollback :- Dans le répertoire hybrid-files, exécutez apigeectl apply:$APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILEOù 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.9.yaml.
- Vérifiez l'état des pods :
        kubectl -n NAMESPACE get pods Où NAMESPACE est votre espace de noms Apigee hybrid. 
- 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 apigeedsest en cours d'exécution.
- 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
- Exécutez apigeectl init:$APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE
 
- Dans le répertoire hybrid-files, exécutez