Mettre à niveau Apigee hybrid vers la version 1.14

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

Utilisez les mêmes procédures pour les mises à niveau de versions mineures (par exemple, de la version 1.13 vers la version 1.14) et pour les mises à niveau de versions de correctifs (par exemple, de la version 1.4.1 vers la version 1.14.2).

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

Modifications par rapport à Apigee hybrid v1.13

Notez les modifications suivantes :

  • À partir de la version 1.14, les composants du plan de données écrivent les données directement dans le plan de contrôle par défaut. Cela améliore la fiabilité et la conformité des données d'analyse et de débogage. Consultez la section Collecte de données d'analyse et de débogage avec résidence des données.
  • Anthos (sur bare metal ou VMware) est désormais Google Distributed Cloud (pour bare metal ou VMware): pour en savoir plus, consultez les présentations des produits Google Distributed Cloud pour bare metal et Google Distributed Cloud pour VMware.
  • Contrôles d'instanciation de classe plus stricts: à partir de la version 1.14.1 d'Apigee hybrid, la règle JavaCallout inclut désormais une sécurité supplémentaire lors de l'instanciation de la classe Java. Cette mesure de sécurité renforcée empêche le déploiement de règles 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 problème. Toutefois, il est possible que les règles qui s'appuient sur des bibliothèques tierces ou celles qui comportent du code personnalisé qui déclenche indirectement des opérations nécessitant des autorisations élevées soient concerné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.14 d'Apigee hybrid, assurez-vous que votre installation remplit les conditions suivantes:

Avant de passer à la version 1.14.2 : limites et remarques importantes

  • Apigee Hybrid 1.14.2 introduit une nouvelle limite de proxy améliorée par environnement qui vous permet de déployer davantage de proxys et de flux partagés dans un seul environnement. Consultez Limites: Proxys d'API pour connaître 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 migrées. Pour utiliser cette fonctionnalité, effectuez une nouvelle installation d'hybrid 1.14.2 et créez une organisation.

    Cette fonctionnalité est disponible exclusivement dans le forfait 2024 et est soumise aux droits d'accès accordés dans le cadre de cet abonnement. Pour en savoir plus sur cette fonctionnalité, consultez la section Limites de proxy améliorées par environnement.

  • La mise à niveau vers la version 1.14 d'Apigee hybrid peut nécessiter un temps d'arrêt.

    Lors de la mise à niveau du contrôleur Apigee vers la version 1.14.2, 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 recommande de mettre à niveau tous les clusters dès que possible une fois la mise à niveau lancée 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 soient 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.13 ne peut pas être utilisée pour restaurer une instance Hybrid 1.14.

  • 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.14.2

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

Préparer la mise à niveau vers la version 1.14

Sauvegarder votre installation hybrid

  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.13. 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.13-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 obligatoire 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/.

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.13 et 1.14 d'Apigee hybrid. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme.

Installer l'environnement d'exécution hybride 1.14.2

Configurez le pipeline de collecte des données.

À partir de la version 1.14 d'Apigee hybrid, le nouveau pipeline de données d'analyse et de débogage est activé par défaut pour toutes les organisations Apigee hybrid. Pour configurer le flux d'autorisation, vous devez suivre la procédure décrite dans Activer l'accès des éditeurs Analytics.

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.14.2-hotfix.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. 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.16.3/cert-manager.yaml
    

    Consultez la page Plates-formes et versions prises en charge : cert-manager pour obtenir la liste des versions prises en charge.

  3. Si votre espace de noms Apigee n'est pas apigee, modifiez le fichier apigee-operator/etc/crds/default/kustomization.yaml et remplacez la valeur namespace 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.

  4. 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                    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
      
  5. 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.

  6. Facultatif: effectuez cette étape si vous devez autoriser l'utilisation du combinator allOf et définir :additionalProperties: true dans votre spécification OAS. Dans votre fichier de forçage, ajoutez ou mettez à jour la strophe runtime pour autoriser l'utilisation du combinator allOf dans votre spécification OAS. Pour en savoir plus, consultez les notes de version d'Apigee hybrid v1.14.2-hotfix.1.
    runtime:
      cwcAppend:
        conf_message-processor-communication_oas.disable.resolve.combinator: true
    

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 :

    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.14.2   1.14.2
    

    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
    
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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 différent des autres noms de versions Helm de votre installation. Il s'agit généralement de ENV_NAME. Toutefois, si votre environnement a 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 et dev-envgroup-release. Pour en savoir plus sur les versions dans Helm, consultez la section Trois grands concepts class="external" 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.14.2.

    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
  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 :

      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
      
    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_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
  10. Une fois que vous avez vérifié que toutes les installations ont bien été migrées, supprimez l'ancienne version de apigee-operator de l'espace de noms apigee-system.
    1. Désinstallez l'ancienne version de operator :
      helm delete operator -n apigee-system
      
    2. Supprimez l'espace de noms apigee-system :
      kubectl delete namespace apigee-system
      
  11. 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
    

Suivez cette procédure pour valider le comportement de la règle JavaCallout après avoir effectué la mise à niveau de la version 1.14.0 ou antérieure vers la version 1.14.1 ou ultérieure.

  1. Vérifiez si les fichiers JAR Java demandent des autorisations inutiles.

    Une fois la stratégie 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 vous observez ce message, cela suggère 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.

  2. 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. Une fois trouvé, modifiez le code source si nécessaire.

  3. Testez les règles avec le contrôle de sécurité activé.

    Dans un environnement non de 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éfinissez conf_security-secure.constructor.only sur true sous runtime: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 différent des autres noms de versions Helm de votre installation. Il s'agit généralement de ENV_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 et dev-envgroup-release. Pour en savoir plus sur les versions dans Helm, consultez la section Trois grands concepts class="external" 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.

  4. Activez le contrôle de sécurité dans l'environnement de production.

    Une fois que vous avez testé et validé le fichier JAR dans l'environnement hors production, activez la vérification de sécurité dans votre environnement de production en définissant l'indicateur conf_security-secure.constructor.only sur true et en mettant à jour le graphique apigee-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 et revenez à apigee-operator, puis annulez les CRD.

  1. Rétablir tous les graphiques de apigee-virtualhost à apigee-datastore. Les commandes suivantes supposent que vous utilisez les graphiques de la version précédente (v1.13.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.13_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.13_OVERRIDES_FILE
    

    Annulez les modifications apportées aux autres graphiques, à l'exception de apigee-operator.

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  2. Créez l'espace de noms apigee-system.
    kubectl create namespace apigee-system
    
  3. Appliquez à nouveau l'annotation de la ressource à l'espace de noms apigee-system.
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
    
  4. Si vous avez également modifié le nom de la version, mettez à jour l'annotation avec le nom de la version operator.
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
    
  5. Réinstallez apigee-operator dans l'espace de noms apigee-system.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  6. Annulez les CRD en réinstallant les anciennes CRD.
    kubectl apply -k apigee-operator/etc/crds/default/ \
      --server-side \
      --force-conflicts \
      --validate=false
    
  7. Nettoyez la version apigee-operator de l'espace de noms APIGEE_NAMESPACE pour terminer le processus de rollback.
    helm uninstall operator -n APIGEE_NAMESPACE
    
  8. Certaines ressources à l'échelle du cluster, telles que clusterIssuer, sont supprimées lorsque operator est désinstallé. Réinstallez-les à l'aide de la commande suivante :
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE