Cette procédure concerne la mise à niveau d'Apigee hybrid de la version 1.14.x vers la version 1.15.0.
Modifications par rapport à Apigee hybrid v1.14
Veuillez noter le changement suivant :
-
Prise en charge des charges utiles de messages volumineux : à partir de la version 1.15 et du correctif 1.14.2, Apigee accepte désormais les charges utiles de messages jusqu'à 30 Mo. Pour en savoir plus, consultez :
- Configurer la compatibilité avec les charges utiles de messages volumineux dans Apigee hybrid
runtime.resources.limits.memory
dans la documentation de référence sur les propriétés de configuration.runtime.resources.requests.memory
dans la documentation de référence sur les propriétés de configuration.
- Vérifications plus strictes de l'instanciation de classe : Apigee hybrid, la règle JavaCallout inclut désormais une sécurité supplémentaire lors de l'instanciation de classe Java. Cette mesure de sécurité renforcée empêche le déploiement de stratégies qui tentent directement ou indirectement d'effectuer des actions nécessitant des autorisations non autorisées.
Dans la plupart des cas, les règles existantes continueront de fonctionner comme prévu, sans aucun problème. Toutefois, il est possible que les règles reposant sur des bibliothèques tierces ou celles comportant du code personnalisé qui déclenche indirectement des opérations nécessitant des autorisations élevées soient affectées.
Pour en savoir plus sur les fonctionnalités de la version 1.14 d'Hybrid, consultez les notes de version d'Apigee hybrid v1.14.0.
Prérequis
Avant de passer à la version 1.15 d'Apigee hybrid, assurez-vous que votre installation remplit les conditions suivantes :
- Si votre installation hybride exécute une version antérieure à la version 1.14, vous devez passer à la version 1.14 avant de passer à la version 1.15. Consultez Mettre à niveau Apigee hybrid vers la version 1.14.
- Helm version 3.14.2 ou ultérieure.
kubectl
: version compatible dekubectl
adaptée à votre version de la plate-forme Kubernetes. Consultez la section Plates-formes et versions compatibles :kubectl
.- cert-manager : version compatible de cert-manager. Consultez la section Plates-formes et versions compatibles : cert-manager. Si nécessaire, vous mettrez à niveau cert-manager dans la section Préparer la mise à niveau vers la version 1.15 ci-dessous.
Avant de passer à la version 1.15.0 : limites et remarques importantes
Apigee hybrid 1.15.0 introduit une nouvelle limite de proxy améliorée par environnement qui vous permet de déployer plus de proxys et de flux partagés dans un même environnement. Consultez Limites : proxys d'API pour comprendre les limites concernant le nombre de proxys et de flux partagés que vous pouvez déployer par environnement. Cette fonctionnalité n'est disponible que pour les organisations hybrides nouvellement créées et ne peut pas être appliquée aux organisations mises à niveau. Pour utiliser cette fonctionnalité, effectuez une nouvelle installation d'hybrid 1.15.0 et créez une organisation.
Cette fonctionnalité est disponible exclusivement dans le forfait d'abonnement 2024 et est soumise aux droits accordés dans le cadre de cet abonnement. Pour en savoir plus sur cette fonctionnalité, consultez Limites de proxy améliorées par environnement.
La mise à niveau vers la version 1.15 d'Apigee hybrid peut nécessiter un temps d'arrêt.
Lors de la mise à niveau du contrôleur Apigee vers la version 1.15.0, tous les déploiements Apigee font l'objet d'un redémarrage progressif. Pour minimiser les temps d'arrêt dans les environnements hybrides de production lors d'un redémarrage progressif, assurez-vous d'exécuter au moins deux clusters (dans la même région ou dans un centre de données différent). Dirigez l'ensemble du trafic de production vers un seul cluster et sélectionnez le cluster que vous êtes sur le point de mettre à niveau hors connexion, puis poursuivez le processus de mise à niveau. Répétez cette procédure pour chaque cluster.
Apigee vous recommande de mettre à niveau tous les clusters dès que possible afin de réduire les risques d'impact sur la production. Après la mise à niveau du premier cluster, il n'y a pas de date limite pour procéder à la mise à niveau de l'ensemble des clusters restants. Toutefois, jusqu'à ce que tous les clusters restants aient été mis à niveau, la sauvegarde et la restauration de bases de données Cassandra ne peuvent pas fonctionner avec les versions mixtes. Par exemple, une sauvegarde Hybrid 1.14 ne peut pas être utilisée pour restaurer une instance Hybrid 1.15.
Les modifications du plan de gestion n'ont pas besoin d'être entièrement suspendues lors d'une mise à niveau. Les suspensions temporaires requises pour les modifications du plan de gestion sont indiquées dans les instructions de mise à niveau ci-dessous.
Présentation de la mise à niveau vers la version 1.15.0
Les procédures de mise à niveau d'Apigee hybrid sont organisées dans les sections suivantes :
Préparer la mise à niveau vers la version 1.15
Sauvegarder votre installation hybrid
- 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.14. 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.14-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 obligatoire si vous utilisez des secrets Kubernetes ou la fédération d'identité de charge de travail pour GKE afin d'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/
.
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.14 et 1.15 d'Apigee hybrid. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme.
Supprimer les CRD Istio
La présence de définitions de ressources personnalisées (CRD) istio.io
dans un cluster Apigee hybrid peut entraîner l'échec des pods apigee-ingressgateway-manager
.
Pour en savoir plus sur les CRD istio.io
dans Apigee hybrid, consultez le problème connu 416634326.
-
Déterminez si vous avez des CRD
istio.io
dans votre cluster à l'aide de la commande suivante :kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io
Si votre cluster comporte des CRD
istio.io
, le résultat doit se présenter comme suit :kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io
authorizationpolicies.security.istio.io destinationrules.networking.istio.io envoyfilters.networking.istio.io gateways.networking.istio.io peerauthentications.security.istio.io proxyconfigs.networking.istio.io requestauthentications.security.istio.io serviceentries.networking.istio.io sidecars.networking.istio.io telemetries.telemetry.istio.io virtualservices.networking.istio.io wasmplugins.extensions.istio.io workloadentries.networking.istio.io workloadgroups.networking.istio.io - Facultatif : Enregistrez les CRD en local au cas où vous auriez besoin de les recréer :
kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
-
Supprimez les CRD
istio.io
:Effectuez un dry run :
kubectl delete crd $(cat istio-crd.csv) --dry-run=client
Exécution :
kubectl delete crd $(cat istio-crd.csv)
-
Répertoriez les pods
ingress-manager
à réinstaller ou à recréer :kubectl get deployments -n apigee
Exemple de résultat :
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 32d apigee-ingressgateway-manager 2/2 2 2 32d
-
Redémarrez les pods
ingress-manager
:kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
Installer l'environnement d'exécution hybride 1.15.0
Configurez le pipeline de collecte de données.
À partir d'Apigee hybrid v1.14, le nouveau pipeline de données d'analyse et de débogage est activé par défaut pour toutes les organisations Apigee hybrid. Vous devez suivre les étapes décrites dans Activer l'accès aux données Analytics pour les éditeurs afin de configurer le flux d'autorisation.
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.15.0
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
- Mettez à niveau 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.17.2/cert-manager.yaml
Consultez la page Plates-formes et versions prises en charge : cert-manager pour obtenir la liste des versions prises en charge.
- Si votre espace de noms Apigee n'est pas
apigee
, modifiez le fichierapigee-operator/etc/crds/default/kustomization.yaml
et remplacez la valeurnamespace
par votre espace de noms Apigee.apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: APIGEE_NAMESPACE
Si vous utilisez
apigee
comme espace de noms, vous n'avez pas besoin de modifier le fichier. - 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 2024-08-21T14:48:30Z apigeedeployments.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeissues.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2024-08-21T14:48:32Z apigeeredis.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeeroutes.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2024-08-21T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2024-08-21T14: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 :
Effectuez un dry run :
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez l'installation de l'opérateur Apigee :
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2024-08-21 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.0 1.15.0
Vérifiez qu'il est opérationnel en vérifiant sa disponibilité :
kubectl -n APIGEE_NAMESPACE 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_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez que
apigeedatastore
est opérationnel en vérifiant son état :kubectl -n APIGEE_NAMESPACE 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_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez qu'elle est opérationnelle en vérifiant son état :
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
- Mettez à niveau Apigee Redis :
Simulation :
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez qu'elle est opérationnelle en vérifiant son état :
kubectl -n APIGEE_NAMESPACE 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_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez qu'il est opérationnel en vérifiant sa disponibilité :
kubectl -n APIGEE_NAMESPACE 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_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Mettez à niveau le graphique :
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Vérifiez qu'elle est opérationnelle en vérifiant l'état de l'organisation correspondante :
kubectl -n APIGEE_NAMESPACE 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.Effectuez un dry run :
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME est un nom utilisé pour suivre l'installation et les mises à niveau du graphique
apigee-env
. Ce nom doit être unique par rapport aux autres noms de version Helm de votre installation. Il s'agit généralement de la même valeur queENV_NAME
. Toutefois, si votre environnement porte le même nom que votre groupe d'environnements, vous devez utiliser des noms de version différents pour l'environnement et le groupe d'environnements (par exemple,dev-env-release
etdev-envgroup-release
). Pour en savoir plus sur les versions dans Helm, consultez Three big concepts class="external" (Trois grands concepts) dans la documentation Helm. - ENV_NAME est le nom de l'environnement que vous mettez à niveau.
- OVERRIDES_FILE est votre nouveau fichier de remplacement pour la version 1.15.0.
Mettez à niveau le graphique :
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --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_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
- ENV_RELEASE_NAME est un nom utilisé pour suivre l'installation et les mises à niveau du 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 :Effectuez un dry run :
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run=server
ENV_GROUP_RELEASE_NAME est le nom avec lequel vous avez déjà installé le graphique
apigee-virtualhost
. 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_NAMESPACE \ --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_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n APIGEE_NAMESPACE 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
- Une fois que vous avez vérifié que toutes les installations ont été mises à niveau, supprimez l'ancienne version de
apigee-operator
de l'espace de nomsapigee-system
.- Désinstallez l'ancienne version de
operator
:helm delete operator -n apigee-system
- Supprimez l'espace de noms
apigee-system
:kubectl delete namespace apigee-system
- Désinstallez l'ancienne version de
- Mettez à niveau
operator
à nouveau dans votre espace de noms Apigee pour réinstaller les ressources supprimées à l'échelle du cluster :helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
Valider les règles après la mise à niveau depuis la version 1.14.0 ou antérieure
Utilisez cette procédure pour valider le comportement de la règle JavaCallout après la mise à niveau depuis la version 1.14.0.
- Vérifiez si les fichiers JAR Java demandent des autorisations inutiles.
Une fois la règle déployée, vérifiez les journaux d'exécution pour voir si le message de journal suivant est présent :
"Failed to load and initialize class ..."
. Si ce message s'affiche, cela signifie que le fichier JAR déployé a demandé des autorisations inutiles. Pour résoudre ce problème, examinez le code Java et mettez à jour le fichier JAR. - Examinez et mettez à jour le code Java.
Examinez tout code Java (y compris les dépendances) pour identifier la cause des opérations potentiellement non autorisées. Si vous en trouvez, modifiez le code source comme il se doit.
- Testez les règles avec le contrôle de sécurité activé.
Dans un environnement non destiné à la production, activez l'indicateur de vérification de la sécurité et redéployez vos règles avec un fichier JAR mis à jour. Pour définir l'indicateur :
- Dans le fichier
apigee-env/values.yaml
, définissezconf_security-secure.constructor.only
surtrue
sousruntime:cwcAppend:
. Exemple :# Apigee Runtime runtime: cwcAppend: conf_security-secure.constructor.only: true
- Mettez à jour le chart
apigee-env
de l'environnement pour appliquer la modification. Exemple :helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
ENV_RELEASE_NAME est un nom utilisé pour suivre l'installation et les mises à niveau du graphique
apigee-env
. Ce nom doit être unique par rapport aux autres noms de version Helm de votre installation. Il s'agit généralement de la même valeur queENV_NAME
. Toutefois, si votre environnement porte le même nom que votre groupe d'environnements, vous devez utiliser des noms de version différents pour l'environnement et le groupe d'environnements (par exemple,dev-env-release
etdev-envgroup-release
). Pour en savoir plus sur les versions dans Helm, consultez Three big concepts class="external" (Trois grands concepts) dans la documentation Helm.
Si le message de journal
"Failed to load and initialize class ..."
est toujours présent, continuez à modifier et à tester le fichier JAR jusqu'à ce qu'il ne s'affiche plus. - Dans le fichier
- Activez le contrôle de sécurité dans l'environnement de production.
Après avoir testé et vérifié minutieusement le fichier JAR dans l'environnement hors production, activez le contrôle de sécurité dans votre environnement de production en définissant le flag
conf_security-secure.constructor.only
surtrue
et en mettant à jour le graphiqueapigee-env
pour l'environnement de production afin d'appliquer la modification.
Effectuer un rollback vers la version précédente
Pour revenir à la version précédente, utilisez l'ancienne version du graphique pour annuler le processus de mise à niveau dans l'ordre inverse. Commencez par apigee-virtualhost
, puis revenez à apigee-operator
et restaurez les CRD.
- Rétablis tous les graphiques de
apigee-virtualhost
àapigee-datastore
. Les commandes suivantes supposent que vous utilisez les graphiques de la version précédente (v1.14.x).Exécutez la commande suivante pour chaque groupe d'environnements :
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f 1.14_OVERRIDES_FILE
Exécutez la commande suivante pour chaque environnement :
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f 1.14_OVERRIDES_FILE
Rétablissez les graphiques restants, à l'exception de
apigee-operator
.helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
- Créez l'espace de noms
apigee-system
.kubectl create namespace apigee-system
- Corrigez l'annotation de la ressource dans l'espace de noms
apigee-system
.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
- Si vous avez également modifié le nom de la version, mettez à jour l'annotation avec le nom de version
operator
.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
- Installez
apigee-operator
dans l'espace de nomsapigee-system
.helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE
- Rétablissez les CRD en réinstallant les anciennes.
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false
- Nettoyez la version
apigee-operator
de l'espace de noms APIGEE_NAMESPACE pour terminer le processus de rollback.helm uninstall operator -n APIGEE_NAMESPACE
- Certaines ressources à l'échelle du cluster, telles que
clusterIssuer
, sont supprimées lorsqueoperator
est désinstallé. Réinstallez-les à l'aide de la commande suivante :helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE