Mettre à niveau Apigee hybrid vers la version 1.4

Présentation de la mise à niveau vers la version 1.4.4

Les procédures de mise à niveau d'Apigee hybrid sont organisées dans les sections suivantes :

  1. Sauvegardez votre installation hybride.
  2. Vérifiez votre version de Kubernetes et effectuez la mise à niveau si nécessaire.
  3. Mettez à jour ASM.
  4. Installez la version 1.4 de l'environnement d'exécution hybride.

Conditions préalables

Effectuer la mise à niveau vers la version 1.4

  1. (Recommandé) Créez une copie de sauvegarde du répertoire $APIGEECTL_HOME/ de la version 1.3. Exemple :
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Recommandé) Sauvegardez votre base de données Cassandra en suivant les instructions figurant sur la page Sauvegarde et récupération de Cassandra.
  3. Mettez à niveau votre plate-forme Kubernetes comme suit. Si vous avez besoin d'aide, consultez la documentation de votre plate-forme :
    Plate-forme Mise à niveau vers la version
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x en utilisant des clusters associés à Anthos
    EKS 1.18.x en utilisant des clusters associés à Anthos
  4. Mettez à niveau ASM vers la version 1.6.x.
    1. Effectuez la mise à niveau à l'aide de la documentation ASM :
    2. Spécifiez les ports d'entrée suivants et définissez la propriété runAsRoot sur true dans votre fichier istio-operator.yaml.
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. Créez des RS PeerAuthentication pour désactiver mTLS dans votre fichier istio-operator.yaml :
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. Appliquez ces modifications à l'aide de istioctl comme décrit dans la documentation ASM :

Installer l'environnement d'exécution hybride 1.4.4

  1. Stockez le numéro de la dernière version dans une variable :
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Vérifiez que la variable a bien été renseignée avec un numéro de version. Si vous souhaitez utiliser une autre version, vous pouvez l'enregistrer dans une variable d'environnement à la place. Exemple :
    echo $VERSION
      1.4.4
  3. Téléchargez le package de version pour votre système d'exploitation :

    Mac 64 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux 32 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Remplacez le nom du répertoire apigeectl/ actuel par un nom de répertoire de sauvegarde. Exemple :
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extrayez le contenu du fichier gzip téléchargé dans votre répertoire de base hybride. Exemple :

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd dans le répertoire de base.
  7. Le contenu du fichier tar est, par défaut, développé dans un répertoire dont le nom contient la version et la plate-forme. Exemple : ./apigeectl_1.4.4-xxx_linux_64. Renommez ce répertoire en apigeectl :

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. Dans le nouveau répertoire apigeectl/, exécutez apigeectl init, apigeectl apply et apigeectl check-ready :
    1. Initialisez la version hybride 1.4.4 à l'aide de la commande suivante :
      apigeectl init -f overrides.yaml

      overrides.yaml correspond à votre fichier overrides.yaml modifié.

    2. Vérifiez qu'il s'est initialisé correctement à l'aide des commandes suivantes :
      apigeectl check-ready -f overrides.yaml
      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
      
    3. La syntaxe de l'option apigeectl --dry-run dépend de la version de kubectl que vous exécutez. Vérifiez la version de kubectl :
      gcloud version
    4. Recherchez les erreurs à l'aide d'une simulation en utilisant la commande adaptée à votre version de kubectl :

      kubectl version 1.17 et antérieure :

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl version 1.18 et ultérieure :

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Appliquez vos remplacements. Sélectionnez et suivez les instructions pour les environnements de production ou les environnements de démonstration/expérimentaux, selon votre installation.

      Production

      Pour les environnements de production, vous devez mettre à niveau chaque composant Apigee hybrid individuellement, puis vérifier l'état du composant mis à niveau avant de passer au composant suivant.

      1. Appliquez vos remplacements pour mettre à niveau Cassandra :
        apigeectl apply -f overrides.yaml --datastore
      2. Vérifiez que l'opération est terminée :
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        namespace est votre espace de noms Apigee hybrid.

        Ne passez à l'étape suivante que lorsque les pods sont prêts.

      3. Appliquez vos remplacements pour mettre à niveau les composants Telemetry, puis vérifiez que l'opération est terminée :
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. 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 apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. 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 apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          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 apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Démo/Expérimental

      Dans la plupart des environnements de démonstration ou expérimentaux, vous pouvez appliquer les remplacements à tous les composants en une seule fois. Si votre environnement de démonstration/expérimental 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.

      1. apigeectl apply -f overrides.yaml
      2. Vérifiez l'état :
        apigeectl check-ready -f overrides.yaml

    Félicitations ! Vous êtes passé à la version 1.4.4 d'Apigee hybrid.