Upgrade von Apigee Hybrid auf Version 1.10 ausführen

Dieses Verfahren behandelt das Upgrade von der Apigee Hybrid-Version 1.9.x auf die Apigee Hybrid-Version 1.10.4 und von früheren Releases der Hybrid-Version 1.10.x auf Version 1.10.4.

Verwenden Sie dieselben Verfahren für Upgrades von Nebenversionen (z. B. Version 1.9 auf 1.10) und Patch-Upgrades (z. B. 1.10.0 bis 1.10.4).

Upgrade auf Version 1.10.4 – Übersicht

Die Schritte zum Upgrade von Apigee Hybrid werden in den folgenden Abschnitten erläutert:

  1. Bereiten Sie das Upgrade vor..
  2. Installieren Sie die Hybrid-Laufzeitversion 1.10.4

Vorbereitung

In dieser Upgrade-Anleitung wird davon ausgegangen, dass Sie die Apigee Hybrid-Version 1.9.x installiert haben und ein Upgrade auf Version 1.10.4 durchführen möchten. Wenn Sie eine Aktualisierung von einer früheren Version ausführen, lesen Sie die Anleitung unter Upgrade von Apigee Hybrid auf Version 1.9 ausführen.

Upgrade auf Version 1.10 vorbereiten

  1. In dieser Anleitung wird die Umgebungsvariable APIGEECTL_HOME für das Verzeichnis in Ihrem Dateisystem verwendet, in dem Sie apigeectl installiert haben. Wechseln Sie bei Bedarf in das Verzeichnis apigeectl und definieren Sie die Variable mit dem folgenden Befehl:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  2. Erstellen Sie eine Sicherungskopie Ihres $APIGEECTL_HOME/-Verzeichnisses der Version 1.9. Beispiel:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
  3. Sichern Sie Ihre Cassandra-Datenbank entsprechend der Anleitung unter Cassandra-Sicherung und -Wiederherstellung.

Aktualisieren Sie Ihre Kubernetes-Version

Prüfen Sie die Version Ihrer Kubernetes-Plattform und führen Sie bei Bedarf ein Upgrade Ihrer Kubernetes-Plattform auf eine Version durch, die sowohl von Hybrid 1.9 als auch von Hybrid 1.10 unterstützt wird. Weitere Informationen finden Sie in der Dokumentation der Plattform.

Hybrid 1.10.4-Laufzeit installieren

  1. Sie müssen das Hybrid-Basisverzeichnis geöffnet haben. Dies ist das übergeordnete Verzeichnis des Verzeichnisses, in dem sich die ausführbare Datei apigeectl befindet:
    cd $APIGEECTL_HOME/..
  2. Laden Sie das Releasepaket für Ihr Betriebssystem mit dem folgendem Befehl herunter. Wählen Sie Ihre Plattform in der folgenden Tabelle aus:

    Linux

    Linux 64-Bit:

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

    macOS

    Mac 64-Bit:

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

    Windows

    Windows 64-Bit:

    curl -LO ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.4/apigeectl_windows_64.zip
  3. Benennen Sie Ihr aktuelles apigeectl/-Verzeichnis in einen Backupverzeichnisnamen um. Beispiel:

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/

    macOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9 
  4. Extrahieren Sie die heruntergeladenen gzip-Dateiinhalte in Ihr Hybrid-Basisverzeichnis. Das Hybrid-Basisverzeichnis ist das Verzeichnis, in dem sich das umbenannte Verzeichnis apigeectl-v1.9 befindet:

    Linux

    tar xvzf filename.tar.gz -C ./

    macOS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  5. Die TAR-Inhalte werden standardmäßig in einem Verzeichnis gezeigt, dessen Name die Version und Plattform enthält. Beispiel: ./apigeectl_1.10.4-xxxxxxx_linux_64. Benennen Sie dieses Verzeichnis mit dem folgenden Befehl in apigeectl um:

    Linux

    mv apigeectl_1.10.4-xxxxxxx_linux_64 apigeectl

    macOS

    mv apigeectl_1.10.4-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.10.4-xxxxxxx_windows_64 apigeectl
  6. Wechseln Sie in das Verzeichnis apigeectl:
    cd ./apigeectl

    Dieses Verzeichnis ist das Basisverzeichnis apigeectl. Hier befindet sich der ausführbare Befehl apigeectl.

  7. In dieser Anleitung wird die Umgebungsvariable $APIGEECTL_HOME für das Verzeichnis in Ihrem Dateisystem verwendet, in dem das Dienstprogramm apigeectl installiert ist. Wechseln Sie bei Bedarf in das Verzeichnis apigeectl und definieren Sie die Variable mit dem folgenden Befehl:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  8. Prüfen Sie die Version von apigeectl mit dem Befehl version:
    ./apigeectl version
    Version: 1.10.4
  9. Erstellen Sie ein hybrid-base-directory/hybrid-files-Verzeichnis und verschieben Sie es in dieses Verzeichnis. Im Verzeichnis hybrid-files befinden sich Konfigurationsdateien wie die Überschreibungsdatei, Zertifikate und Dienstkonten. Beispiel:

    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
  10. Prüfen Sie mit dem folgenden Befehl, ob kubectl auf den richtigen Kontext eingestellt ist. Der aktuelle Kontext sollte auf den Cluster eingestellt werden, in dem Sie Apigee Hybrid aktualisieren.
    kubectl config get-contexts | grep \*
  11. Im Verzeichnis hybrid-files:
    1. Aktualisieren Sie die folgenden symbolischen Links zu $APIGEECTL_HOME. Mit diesen Links können Sie den neu installierten Befehl apigeectl aus dem Verzeichnis hybrid-files ausführen:
      ln -nfs $APIGEECTL_HOME/tools tools
      ln -nfs $APIGEECTL_HOME/config config
      ln -nfs $APIGEECTL_HOME/templates templates
      ln -nfs $APIGEECTL_HOME/plugins plugins
    2. Prüfen Sie, ob die Symlinks ordnungsgemäß erstellt wurden. Führen Sie dazu den folgenden Befehl aus und achten Sie darauf, dass die Linkpfade auf die richtigen Speicherorte verweisen:
      ls -l | grep ^l
  12. Führen Sie eine Probelaufinitialisierung aus, um nach Fehlern zu suchen:
    ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client

    Dabei ist OVERRIDES_FILE der Name Ihrer Überschreibungsdatei, z. B. ./overrides/overrides.yaml.

  13. Wenn keine Fehler auftreten, initialisieren Sie Hybrid 1.10.4:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  14. Prüfen Sie den Initialisierungsstatus:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    Bei Erfolg lautet die Ausgabe: All containers ready.

    kubectl describe apigeeds -n apigee

    Suchen Sie in der Ausgabe nach State: running.

  15. Suchen Sie mit dem Probelauf des Befehls apply mit dem Flag --dry-run nach Fehlern:
    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
  16. Wenn keine Fehler vorhanden sind, wenden Sie die Überschreibungen an. Wählen Sie je nach Ihrer Installation die Anleitung für Produktionsumgebungen oder Nicht-Produktionsumgebungen und folgen Sie diesen.

    Produktion

    Aktualisieren Sie in Produktionsumgebungen jede Hybridkomponente einzeln und prüfen Sie den Status der aktualisierten Komponente, bevor Sie mit der nächsten Komponente fortfahren.

    1. Sie müssen sich im Verzeichnis hybrid-files befinden.
    2. Wenden Sie Ihre Überschreibungen an, um Upgrade von Cassandra durchzuführen:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
    3. Abschluss prüfen:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

      Fahren Sie mit dem nächsten Schritt nur fort, wenn die Pods bereit sind.

    4. Wenden Sie Ihre Überschreibungen an, um Telemetriekomponenten zu aktualisieren, und prüfen Sie den Fortschritt:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    5. Richten Sie die Redis-Komponenten ein:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
    6. Wenn Sie Ihre Überschreibungen an, um zu aktualisieren die Komponenten auf Organisationsebene (MART, Watcher, Apigee Connect) und prüfen Sie den Abschluss des Vorgangs:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    7. Nutzen Sie Überschreibungen, um Ihre Umgebungen zu aktualisieren. Sie haben zwei Möglichkeiten:
      • Jede Umgebung separat: Sie wenden die Überschreibungen auf eine einzelne Umgebung gleichzeitig an und prüfen den Fortschritt. Wiederholen Sie den Schritt für jede Umgebung:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

        Dabei ist ENV_NAME der Name der Umgebung, die Sie aktualisieren.

      • Alle Umgebungen gleichzeitig: Sie können die Überschreibungen auf alle Umgebungen gleichzeitig anwenden und den Abschluss prüfen:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    8. Wenden Sie Ihre Überschreibungen an, um die virtualhosts-Komponenten zu aktualisieren, und prüfen Sie den Fortschritt:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    Non-prod

    In den meisten Nicht-Produktionsumgebungen, Demo- und Testumgebungen können Sie die Überschreibungen auf alle Komponenten gleichzeitig anwenden. Wenn Ihre Nicht-Produktionsumgebung groß und komplex ist oder eine Produktionsumgebung nachahmt, können Sie die Anleitung zum Upgrade von Produktionsumgebungen verwenden.

    1. Sie müssen sich im Verzeichnis hybrid-files befinden.
    2. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
    3. Prüfen Sie den Status:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  17. 1.10.3-hotfix.1 installieren. Weitere Informationen finden Sie unter Hybrid 1.10.3-hotfix.1 in den Apigee-Versionshinweisen.
  18. 1.10.3-hotfix.2 installieren. Weitere Informationen finden Sie unter Hybrid 1.10.3-hotfix.2 in den Apigee-Versionshinweisen.
  19. 1.10.3-hotfix.3 installieren. Weitere Informationen finden Sie unter Hybrid 1.10.3-hotfix.3 in den Apigee-Versionshinweisen.
  20. 1.10.3-hotfix.4 installieren. Weitere Informationen finden Sie unter Hybrid 1.10.3-hotfix.4 in den Apigee-Versionshinweisen.

1.10.4-hotfix.1 installieren

Verwenden Sie den folgenden Befehl, um den Hotfix-Release 1.10.4-hotfix.1 zu installieren. Weitere Informationen finden Sie unter Hybrid 1.10.4-hotfix.1 in den Apigee-Versionshinweisen.

  1. Öffnen Sie die Überschreibungsdatei.
  2. Aktualisieren Sie zuerst die Überschreibungsdatei. Folgen Sie den Anleitungen für das Tool, das Sie zum Verwalten von Apigee Hybrid, Helm oder apigeectl verwenden:

    Helm

    1. Ändern Sie in der istiod-Stanza die Version des Image-Tags (falls vorhanden) in Version 1.17.8. Beispiel:
      istiod:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
          tag: "1.17.8-asm.20-distroless"
    2. Ändern Sie in der apigeeIngressGateway-Stanza die Version des Image-Tags (falls vorhanden) in Version 1.17.8. Beispiel:
      apigeeIngressGateway:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.8-asm.20-distroless"
    3. Speichern Sie die Datei.

    apigeectl

    1. Ändern Sie in der istiod-Stanza die Version des Image-Tags (falls vorhanden) in Version 1.17.8. Beispiel:
      istiod:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
          tag: "1.17.8-asm.20-distroless"
    2. Je nachdem, wie Sie Apigee Hybrid installiert haben, haben Sie möglicherweise eine ingressGateway- oder ingressGateways-Stanza. Suchen Sie die Stanza, die in der Überschreibungsdatei angezeigt wird, und ändern Sie die Version des Image-Tags (falls vorhanden) in Version 1.17.8. Wenn Sie beispielsweise eine ingressGateway-Stanza haben:
      ingressGateway:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.8-asm.20-distroless"

      oder, wenn Sie eine ingressGateways-Stanza haben:

      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"
          ... 
    3. Speichern Sie die Datei.
  3. Wenden Sie als Nächstes die Änderungen an. Folgen Sie den Anleitungen für das Tool, das Sie zum Verwalten von Apigee Hybrid, Helm oder apigeectl verwenden:

    Helm

    1. Installieren Sie das apigee-ingress-manager-Diagramm mit folgendem Befehl:
      helm upgrade ingress-manager apigee-ingress-manager/ \
        --install \
        --namespace "YOUR_APIGEE_NAMESPACE" \
        --atomic \
        -f OVERRIDES_FILE
      
    2. Installieren Sie das apigee-org-Diagramm mit folgendem Befehl:
      helm upgrade ORG_NAME apigee-org/ \
          --install \
          --namespace "YOUR_APIGEE_NAMESPACE" \
          --atomic \
          -f OVERRIDES_FILE
    3. Prüfen Sie den Status Ihrer Pods:
      kubectl get pods -n YOUR_APIGEE_NAMESPACE

    apigeectl

    1. Führen Sie folgenden Befehl aus, um die istiod-Komponente zu initialisieren:
      $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    2. Führen Sie den folgenden Befehl aus, um Änderungen auf die Apigee Ingress-Komponente(n) anzuwenden. Wenn Sie mehr als eine Organisation haben, wiederholen Sie diesen Befehl für jede Organisation:
      $APIGEECTL_HOME/apigeectl apply --org -f OVERRIDES_FILE
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    3. Prüfen Sie den Status Ihrer Pods:
      kubectl get pods -n YOUR_APIGEE_NAMESPACE

Rollback für Upgrade durchführen

So führen Sie ein Rollback für ein Upgrade durch:

  1. Bereinigen Sie abgeschlossene Jobs für den Namespace der Hybridlaufzeit. Dabei ist NAMESPACE der Namespace, der in der Überschreibungsdatei angegeben ist, wenn Sie einen Namespace angegeben haben. Wenn nicht, ist der Standard-Namespace apigee:
    kubectl delete job -n NAMESPACE \
      $(kubectl get job -n NAMESPACE \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. Bereinigen Sie abgeschlossene Jobs für den Namespace apigee-system:
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  3. Ändern Sie die Variable APIGEECTL_HOME so, dass sie auf das Verzeichnis verweist, das die ursprüngliche Version von apigeectl enthält. Beispiel:
    export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
  4. Führen Sie im Stammverzeichnis der Installation, zu der Sie ein Rollback machen möchten, apigeectl apply aus, prüfen Sie den Status Ihrer Pods und führen Sie dann apigeectl init aus. Achten Sie darauf, die Original-Überschreibungsdatei für die Version zu verwenden, für die Sie ein Rollback durchführen möchten:
    1. Führen Sie im Verzeichnis mit Hybriddateien apigeectl apply aus:
      $APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE

      Dabei ist ORIGINAL_OVERRIDES_FILE der relative Pfad und der Dateiname der Überschreibungsdatei für Ihre vorherige Version der Hybridinstallation, z. B. ./overrides/overrides1.9.yaml.

    2. Prüfen Sie den Status der Pods:
      kubectl -n NAMESPACE get pods

      Dabei ist NAMESPACE Ihr Apigee Hybrid-Namespace.

    3. Prüfen Sie den Status von apigeeds:
      kubectl describe apigeeds -n apigee

      Die Ausgabe sollte in etwa so aussehen:

      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
      

      Fahren Sie nur mit dem nächsten Schritt fort, wenn der apigeeds-Pod ausgeführt wird.

    4. Führen Sie den folgenden Befehl aus, um zu notieren, was die neuen Replikatwerte nach dem Upgrade für den Nachrichtenprozessor sein werden. Wenn diese Werte nicht mit dem zuvor festgelegten Wert übereinstimmen, ändern Sie die Werte in der Überschreibungsdatei entsprechend Ihrer vorherigen Konfiguration.
      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

      Die Ausgabe sollte in etwa so aussehen:

            autoScaler:
              minReplicas: 2
              maxReplicas: 10
    5. Führen Sie apigeectl init aus.
      $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE