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 :
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 :
- Commencez par migrer votre installation Helm v1.10 en suivant les instructions de la section Migrer des graphiques Apigee hybrid vers Helm depuis apigeectl.
- Suivez les instructions des graphiques Helm ci-dessous pour mettre à niveau votre installation.
Préparer la mise à niveau vers la version 1.11
Sauvegarder votre installation hybride (recommandé)
Helm
- 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%
- 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 fichiertar
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
- Sauvegardez votre base de données Cassandra en suivant les instructions figurant sur la page Sauvegarde et récupération de Cassandra.
- 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/
-
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/
- 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.10. Par exemple :tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-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.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
- 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
- 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
- Installez les CRD Apigee mises à jour :
-
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
-
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
- 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
-
-
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 fichieroverrides.yaml
.Pour en savoir plus, consultez la page Configurer des pools de nœuds dédiés.
Installer les charts Helm Apigee hybrid
- 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. - 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
- 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
- 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
- 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
- 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
- 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
- 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 deapigee-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
- ENV_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique
-
Mettez à jour les groupes d'environnement (
virtualhosts
).- 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 deapigee-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
- 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
- Vous devez installer un groupe d'environnements (hôte virtuel) à la fois. Spécifiez le groupe d'environnement avec
apigeectl
- 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
-
À 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
- 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/$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
- 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
-
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 ./
-
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 enapigeectl
à 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
-
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.11.1
- 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.11.1 :
$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.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.
- 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 :
Helm
Pour revenir à la version précédente, utilisez les graphiques et le fichier de remplacement de l'installation précédente.
- 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.
- 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 deapigee-virtualhost-ENV_GROUP_NAME
. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_GROUP_NAME. - 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 deapigee-env-ENV_NAME
. Dans Apigee hybrid v1.11 et versions ultérieures, il s'agit généralement de ENV_NAME. - Effectuer un rollback de l'organisation :
helm upgrade ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- 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
- Effectuer un rollback de Redis :
helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Effectuer un rollback d'Apigee Telemetry :
helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- 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
- 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
- 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
- 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
- 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 :
- 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.10.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