Upgrade von Apigee Hybrid auf Version 1.11 ausführen

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

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 auf 1.11.2).

Wenn Sie ein Upgrade von Apigee Hybrid-Version 1.9 oder älter ausführen, ist zuerst ein Upgrade auf die Hybrid-Version 1.10 erforderlich, bevor Sie auf Version 1.11.2 aktualisieren. Weitere Informationen finden Sie in der Anleitung unter Upgrade von Apigee Hybrid auf Version 1.10 ausführen.

Upgrade auf Version 1.11.2 – Ü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.11.2

Vorbereitung

In dieser Upgrade-Anleitung wird davon ausgegangen, dass Sie die Apigee Hybrid-Version 1.10.x installiert haben und ein Upgrade auf Version 1.11.2 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.10 ausführen.

Helm-Diagramme und apigeectl

In Version 1.11 können Sie Apigee Hybrid entweder mit Helm-Diagrammen oder mit apigeectl installieren und verwalten. Apigee empfiehlt die Verwendung von Helm zur Verwaltung der Installation.

Von v1.10 mit apigeectl zu Helm v1.11 migrieren

So führen Sie ein Upgrade auf Apigee Hybrid v1.11, das von Helm verwaltet wird, über eine mit apigeectl verwaltete Hybrid-Version 1.10 durch:

  1. Migrieren Sie zuerst Ihre Helm v1.10. Folgen Sie dazu der Anleitung unter Apigee Hybrid zu Helm-Diagrammen von apigeectl migrieren.
  2. Folgen Sie der Anleitung für Helm-Diagramme unten, um ein Upgrade Ihrer Installation durchzuführen.

Upgrade auf Version 1.11 vorbereiten

Helm

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

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Mac OS

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Windows

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. Erstellen Sie eine Sicherungskopie Ihres $APIGEE_HELM_CHARTS_HOME/-Verzeichnisses der Version 1.10. Sie können einen beliebigen Sicherungsprozess verwenden. So können Sie beispielsweise eine tar-Datei Ihres gesamten Verzeichnisses erstellen:
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.10-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Sichern Sie Ihre Cassandra-Datenbank entsprechend der Anleitung unter Cassandra-Sicherung und -Wiederherstellung.
  4. Wenn Sie Dienstzertifikatdateien (.json) in Ihren Überschreibungen zur Authentifizierung von Dienstkonten verwenden, müssen Sie darauf achten, dass sich die Zertifikatsdateien Ihres Dienstkontos im richtigen Helm-Diagrammverzeichnis befinden. Helm-Diagramme können keine Dateien außerhalb der einzelnen Diagrammverzeichnisse lesen.

    Dieser Schritt ist nicht erforderlich, wenn Sie Kubernetes-Secrets oder Workload Identity zum Authentifizieren von Dienstkonten verwenden.

    Die folgende Tabelle zeigt das Ziel für jede Dienstkontodatei je nach Installationstyp:

    Prod

    Dienstkonto Standarddateiname Helm-Diagrammverzeichnis
    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/

    Non-prod

    Erstellen Sie in jedem der folgenden Verzeichnisse eine Kopie der Dienstkontodatei apigee-non-prod:

    Dienstkonto Standarddateiname Helm-Diagrammverzeichnisse
    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. Achten Sie darauf, dass sich Ihr TLS-Zertifikat und die Schlüsseldateien (.crt, .key und/oder .pem) im Verzeichnis $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ befinden.

apigeectl

In den Beispielen in dieser Anleitung wird die folgende Verzeichnisstruktur verwendet. Ihre Installation kann abweichen. Passen Sie die Anleitung an die Struktur Ihrer Installation an.

hybrid-v1.11-root-directory/
└── apigeectl/
    └── config/
    └── plugins/
    └── templates/
    └── tools/
└── hybrid-files/
    └── overrides/
    └── service-accounts/
    └── certs/
hybrid-v1.10-root-directory/
  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

    Mac OS

    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.10. Beispiel:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-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.10 als auch von Hybrid 1.11 unterstützt wird. Weitere Informationen finden Sie in der Dokumentation der Plattform.

Hybrid 1.11.2-Laufzeit installieren

Helm

Upgrade auf Helm-Diagramme vorbereiten

  1. Nehmen Sie die folgende Änderung an der Datei overrides.yaml vor, damit die Diagramme apigee-operator und apigee-env das richtige Tag 1.11.2-hotfix.2 verwenden:
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.2"
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.2"
    

    Weitere Informationen finden Sie in den Versionshinweisen zu Apigee 1.11.2-hotfix.2.

  2. Rufen Sie die Apigee Helm-Diagramme ab.

    Apigee Hybrid-Diagramme werden in Google Artifact Registry gehostet:

    oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

    Kopieren Sie mit dem Befehl pull alle Apigee Hybrid-Helm-Diagramme in Ihren lokalen Speicher:

    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.11.2
    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
    
  3. Installieren Sie gegebenenfalls Cert-Manager.

    Wenn Sie die Cert-Manager-Version aktualisieren müssen, installieren Sie die neue Version mit dem folgenden Befehl:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cert-manager.yaml
    
  4. Installieren Sie die aktualisierten Apigee-CRDs:
    1. Verwenden Sie das Probelauf-Feature kubectl, indem Sie den folgenden Befehl ausführen:

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
      
    2. Führen Sie nach der Validierung mit dem Probelaufbefehl den folgenden Befehl aus:

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
      
    3. Prüfen Sie die Installation mit dem kubectl get crds-Befehl:
      kubectl get crds | grep apigee

      Ihre Ausgabe sollte in etwa so aussehen:

      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
      
  5. Prüfen Sie die Labels auf den Clusterknoten. Standardmäßig plant Apigee Daten-Pods auf Knoten mit dem Label cloud.google.com/gke-nodepool=apigee-data und Laufzeit-Pods auf Knoten mit dem Label cloud.google.com/gke-nodepool=apigee-runtime. Sie können die Knotenpoollabels in der Datei overrides.yaml anpassen.

    Weitere Informationen finden Sie unter Dedizierte Knotenpools konfigurieren.

Apigee Hybrid-Helm-Diagramme installieren

  1. Wenn Sie dies nicht getan haben, rufen Sie das APIGEE_HELM_CHARTS_HOME-Verzeichnis auf. Führen Sie die folgenden Befehle in diesem Verzeichnis aus.
  2. Aktualisieren Sie den Apigee-Operator/-Controller:

    Probelauf:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE
    

    Prüfen Sie die Installation des Apigee-Operators:

    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.2   1.11.2

    Prüfen Sie, ob er aktiv ist, indem Sie die Verfügbarkeit prüfen:

    kubectl -n apigee-system get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
  3. Aktualisieren Sie den Apigee-Datenspeicher:

    Probelauf:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Prüfen Sie dessen Status, um sicherzustellen, dassapigeedatastore aktiv ist.

    kubectl -n apigee get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
  4. Aktualisieren Sie die Apigee-Telemetrie:

    Probelauf:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Prüfen Sie den Status, um sicherzustellen, dass dieses Element aktiv ist:

    kubectl -n apigee get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
  5. Führen Sie ein Upgrade von Apigee Redis durch:

    Probelauf:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Prüfen Sie den Status, um sicherzustellen, dass dieses Element aktiv ist:

    kubectl -n apigee get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
  6. Aktualisieren Sie den Apigee-Ingress-Manager:

    Probelauf:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Prüfen Sie, ob er aktiv ist, indem Sie die Verfügbarkeit prüfen:

    kubectl -n apigee get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
  7. Führen Sie ein Upgrade der Apigee-Organisation durch:

    Probelauf:

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Aktualisieren Sie das Diagramm:

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Prüfen Sie den Status der entsprechenden Organisation, um sicherzustellen, dass sie aktiv ist:

    kubectl -n apigee get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
  8. Führen Sie einen Upgrade für die Umgebung aus.

    Sie dürfen jeweils nur eine Umgebung installieren. Geben Sie die Umgebung mit --set env=ENV_NAME an:

    Probelauf:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run
    
    • ENV_RELEASE_NAME ist der Name, mit dem Sie zuvor das Diagramm apigee-env installiert haben. In der Hybrid-Version 1.10 ist es normalerweise apigee-env-ENV_NAME. In der Hybrid-Version 1.11 und höher ist dies in der Regel ENV_NAME.
    • ENV_NAME ist der Name der Umgebung, die Sie aktualisieren.
    • OVERRIDES_FILE ist die neue Überschreibungsdatei für Version 1.11.2.

    Aktualisieren Sie das Diagramm:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
    Hinweis:

    Prüfen Sie, ob sie aktiv ist, indem Sie den Status der entsprechenden Umgebung prüfen:

    kubectl -n apigee get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
  9. Führen Sie ein Upgrade der Umgebungsgruppen (virtualhosts) durch.
    1. Sie dürfen jeweils nur eine Umgebungsgruppe (virtualhost) upgraden. Geben Sie die Umgebungsgruppe mit --set envgroup=ENV_GROUP_NAME an: Wiederholen Sie folgende Befehle für alle Umgebungsgruppen, die in der Datei overrides.yaml erwähnt werden:

      Probelauf:

      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 ist der Name, mit dem Sie zuvor das Diagramm apigee-virtualhost installiert haben. In der Hybrid-Version 1.10 ist es normalerweise apigee-virtualhost-ENV_GROUP_NAME. In der Hybrid-Version 1.11 und höher ist dies in der Regel ENV_GROUP_NAME.

      Aktualisieren Sie das Diagramm:

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE
      
      Hinweis:
    2. Prüfen Sie den Status der ApigeeRoute (AR).

      Durch die Installation von virtualhosts wird ApigeeRouteConfig (ARC) erstellt. Dieses Element erstellt intern ApigeeRoute (ARC), nachdem der Apigee-Watcher die Umgebungsgruppendetails aus der Steuerungsebene abgerufen hat. Prüfen Sie daher, ob die entsprechende AR ausgeführt wird:

      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

apigeectl

  1. Speichern Sie die aktuelle Versionsnummer mit dem folgenden Befehl in einer Variablen:

    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
  2. Prüfen Sie mit dem folgenden Befehl, ob die Variable mit einer Versionsnummer ausgefüllt wurde. Wenn Sie eine andere Version verwenden möchten, können Sie diese stattdessen in einer Umgebungsvariablen speichern.
    echo $VERSION

    Sie sollten die neueste Apigee-Hybridversion sehen:

      1.11.2
  3. 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/..
  4. 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/$VERSION/apigeectl_linux_64.tar.gz

    macOS

    Mac 64-Bit:

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

    Windows

    Windows 64-Bit:

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

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/

    macOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/ 

    Windows

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

    Linux

    tar xvzf filename.tar.gz -C ./

    macOS

    tar xvzf filename.tar.gz -C ./

    Windows

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

    Linux

    mv apigeectl_1.11.2-xxxxxxx_linux_64 apigeectl

    macOS

    mv apigeectl_1.11.2-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.11.2-xxxxxxx_windows_64 apigeectl
  8. Wechseln Sie in das Verzeichnis apigeectl:
    cd ./apigeectl

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

  9. 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

    Mac OS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  10. Prüfen Sie die Version von apigeectl mit dem Befehl version:
    ./apigeectl version
    Version: 1.11.2
  11. 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
  12. 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 \*
  13. 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
  14. Nehmen Sie die folgende Änderung an Ihrer overrides.yaml-Datei vor, damit der Operator und die Laufzeit das richtige Tag 1.11.2-hotfix.2 verwenden können:
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.2"
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.2"
    

    Weitere Informationen finden Sie in den Versionshinweisen zu Apigee 1.11.2-hotfix.2.

  15. 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.

  16. Wenn keine Fehler auftreten, initialisieren Sie Hybrid 1.11.2:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  17. 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.

  18. 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
  19. 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

Rollback für Upgrade durchführen

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

Helm

Verwenden Sie die Diagramme und die Überschreibungsdatei aus der vorherigen Installation, um ein Rollback auf die vorherige Version durchzuführen.

  1. Erstellen Sie die folgende Umgebungsvariable:
    • PREVIOUS_HELM_CHARTS_HOME: Das Verzeichnis, in dem die vorherigen Apigee Hybrid-Helm-Diagramme installiert sind. Dies ist die Version, zu der Sie ein Rollback durchführen.
  2. Führen Sie ein Rollback der Virtualhosts durch. Wiederholen Sie den folgenden Befehl für jede Umgebungsgruppe, die in der Überschreibungsdatei erwähnt wird.
    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 ist der Name, mit dem Sie zuvor das Diagramm apigee-virtualhost installiert haben. In der Hybrid-Version 1.10 ist es normalerweise apigee-virtualhost-ENV_GROUP_NAME. In der Hybrid-Version 1.11 und höher ist dies in der Regel ENV_GROUP_NAME.

  3. Führen Sie ein Rollback für Envs durch. Wiederholen Sie den folgenden Befehl für jede in der Überschreibungendatei erwähnte Umgebung.
    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 ist der Name, mit dem Sie zuvor das Diagramm apigee-env installiert haben. In der Hybrid-Version 1.10 ist es normalerweise apigee-env-ENV_NAME. In der Hybrid-Version 1.11 und höher ist dies in der Regel ENV_NAME.

  4. Führen Sie ein Rollback für die Organisation durch:
    helm upgrade ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  5. Führen Sie ein Rollback des Ingress-Managers durch:
    helm upgrade ingress-manager $PREVIOUS_HELM_CHARTS_HOME/apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  6. Führen Sie ein Rollback von Redis durch:
    helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  7. Führen Sie ein Rollback von Apigee Telemetry durch:
    helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  8. Führen Sie ein Rollback von Apigee Datastore (der Cassandra-Datenbankkomponente) durch:
    helm upgrade datastore $PREVIOUS_HELM_CHARTS_HOME/apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  9. Führen Sie ein Rollback des Apigee-Controllers durch:
    helm upgrade operator $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  10. Führen Sie ein Rollback der Apigee Hybrid-CRDs durch:
      kubectl apply -k  $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
    

apigeectl

  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 die folgenden Befehle im Stammverzeichnis der Installation aus, zu der Sie ein Rollback durchführen möchten. 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.10.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