Cette procédure concerne la mise à niveau d'Apigee hybrid de la version 1.9.x vers la version 1.10.4 et depuis les versions précédentes d'Apigee hybrid de la version 1.10.x vers la version 1.10.4.
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.4).
Présentation de la mise à niveau vers la version 1.10.4
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.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.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épertoireapigeectl
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%
- 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.4
- 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 :
Linux
Linux 64 bits :
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.4/apigeectl_linux_64.tar.gz
macOS
Mac 64 bits :
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.4/apigeectl_mac_64.tar.gz
Windows
Windows 64 bits :
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.4/apigeectl_windows_64.zip
- Remplacez le nom du répertoire
apigeectl/
actuel par un nom de répertoire de sauvegarde. Exemple :Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
macOS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Windows
rename %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.9
renommé :Linux
tar xvzf filename.tar.gz -C ./
macOS
tar xvzf filename.tar.gz -C ./
Windows
tar 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.4-xxxxxxx_linux_64
. Changez le nom de ce répertoire enapigeectl
à l'aide de la commande suivante :Linux
mv apigeectl_1.10.4-xxxxxxx_linux_64 apigeectl
macOS
mv apigeectl_1.10.4-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.10.4-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_HOME
pour le répertoire de votre système de fichiers dans lequel l'utilitaireapigeectl
est installé. Si nécessaire, accédez au répertoireapigeectl
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%
- Vérifiez la version de
apigeectl
à l'aide de la commandeversion
:./apigeectl version
Version: 1.10.4
- Créez un répertoire
hybrid-base-directory/hybrid-files
, puis accédez-y. Le répertoirehybrid-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
- 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 \*
- 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 commandeapigeectl
nouvellement 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
- Effectuez une initialisation en test à blanc (dry run) pour rechercher d'éventuelles erreurs :
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
Où 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.4 :
$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
apply
utilisant 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.
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.
- 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 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.
- 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
- Installez 1.10.3-hotfix.1. Pour en savoir plus, consultez la page hybrid 1.10.3-hotfix.1 dans les notes de version d'Apigee.
- Installez 1.10.3-hotfix.2. Pour en savoir plus, consultez la page hybrid 1.10.3-hotfix.2 dans les notes de version d'Apigee.
- Installez 1.10.3-hotfix.3. Pour en savoir plus, consultez la page hybrid 1.10.3-hotfix.3 dans les notes de version d'Apigee.
- Installez 1.10.3-hotfix.4. Pour en savoir plus, consultez la page hybrid 1.10.3-hotfix.4 dans les notes de version d'Apigee.
Installez 1.10.4-hotfix.1
.
Exécutez les commandes suivantes pour installer la version de correctif, 1.10.4-hotfix.1
. Pour en savoir plus, consultez la page hybrid 1.10.4-hotfix.1 dans les notes de version d'Apigee.
- Ouvrez le fichier de remplacement.
- 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
- Dans le stanza
istiod
, remplacez la version du tag d'image (le cas échéant) par la version1.17.8
. Par exemple :istiod: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod" tag: "1.17.8-asm.20-distroless"
- Dans le stanza
apigeeIngressGateway
, remplacez la version du tag d'image (le cas échéant) par la version1.17.8
. Par exemple :apigeeIngressGateway: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress" tag: "1.17.8-asm.20-distroless"
- Enregistrez le fichier.
apigeectl
- Dans le stanza
istiod
, remplacez la version du tag d'image (le cas échéant) par la version1.17.8
. Par exemple :istiod: image: url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod" tag: "1.17.8-asm.20-distroless"
- Selon la manière dont vous avez choisi d'installer Apigee hybrid, vous pouvez avoir un stanza
ingressGateway
ouingressGateways
. 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 version1.17.8
. Par exemple, si vous disposez d'un stanzaingressGateway
: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" ...
- Enregistrez le fichier.
- Dans le stanza
- Ensuite, appliquez les modifications. Suivez les instructions correspondant à l'outil que vous utilisez pour gérer Apigee hybrid, Helm ou
apigeectl
:Helm
- 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
- 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
- Vérifiez l'état des pods :
kubectl get pods -n YOUR_APIGEE_NAMESPACE
apigeectl
- 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
- 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
- Vérifiez l'état des pods :
kubectl get pods -n YOUR_APIGEE_NAMESPACE
- Installez le chart
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_HOME
pour 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
apigeeds
est 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