Rollback für Apigee Edge 4.52.01 durchführen

Wenn während einer Aktualisierung auf Edge 4.52.01 ein Fehler auftritt, können Sie ein Rollback der Komponente durchführen, die den Fehler verursacht hat, und dann die Aktualisierung wiederholen.

Sie können für Edge 4.52.01 ein Rollback auf die folgenden Hauptreleaseversionen durchführen:

  • Version
  • Version

Es gibt zwei Szenarien, in denen Sie ein Rollback durchführen möchten:

  1. Führen Sie ein Rollback auf eine vorherige Haupt- oder Nebenversion durch. Beispiel: von 4.52.01 bis 4.52.00.
  2. Führen Sie ein Rollback zu einem vorherigen Patchrelease im selben Release durch. Beispiel: von 4.52.00.02 bis 4.52.00.01.

Weitere Informationen finden Sie unter Release-Prozess für Apigee Edge.

Wer kann ein Rollback durchführen?

Der Nutzer, der ein Rollback durchführt, sollte der Nutzer sein, der Edge ursprünglich aktualisiert hat, oder ein Nutzer, der als Root ausgeführt wird.

Standardmäßig werden Edge-Komponenten als „apigee“ des Benutzers ausgeführt. In einigen Fällen führen Sie Edge-Komponenten möglicherweise als unterschiedliche Nutzer aus. Wenn der Router beispielsweise auf privilegierte Ports zugreifen muss, z. B. auf Ports unter 1.000, müssen Sie ihn als Root oder als Nutzer mit Zugriff auf diese Ports ausführen. Oder Sie führen eine Komponente als ein Nutzer und eine andere als weiterer Nutzer aus.

Komponenten mit gängigem Code

Die folgenden Edge-Komponenten verwenden denselben Code. Wenn Sie für eine dieser Komponenten auf einem Knoten ein Rollback durchführen möchten, müssen Sie daher ein Rollback für alle Komponenten auf diesem Knoten durchführen.

  • edge-management-server (Verwaltungsserver)
  • edge-message-processor (Nachrichtenprozessor)
  • edge-router (Router)
  • edge-postgres-server (Postgres-Server)
  • edge-qpid-server (Qpid-Server)

Wenn beispielsweise der Verwaltungsserver, der Router und der Message Processor auf dem Knoten installiert sind, müssen Sie für einen von ihnen ein Rollback für alle drei durchführen.

Rollback auf eine vorherige Haupt- oder Nebenversion durchführen

Um ein Rollback zu einer vorherigen Haupt- oder Nebenversion durchzuführen, führen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, folgende Schritte aus:

  1. Laden Sie die Datei bootstrap.sh für die Version herunter, auf die Sie das Rollback durchführen möchten:

    • Für ein Rollback zu Version 4.51.00 laden Sie bootstrap_4.51.00.sh herunter:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Halten Sie die Komponente an, um ein Rollback durchzuführen:
    1. Wenn Sie für eine der Komponenten mit gängigem Code auf dem Knoten ein Rollback durchführen möchten, müssen Sie sie wie im folgenden Beispiel alle beenden:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. Um ein Rollback für eine andere Komponente auf dem Knoten durchzuführen, beenden Sie nur diese Komponente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Wenn Sie die Monetarisierung rückgängig machen möchten, deinstallieren Sie sie auf allen Verwaltungsserver- und Message Processor-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Deinstallieren Sie die Komponente, um ein Rollback auf den Knoten durchzuführen:
    1. Wenn Sie für eine der Komponenten mit gängigem Code auf dem Knoten ein Rollback durchführen möchten, müssen Sie sie alle deinstallieren. Dazu deinstallieren Sie die Komponentengruppe edge-gateway, wie im folgenden Beispiel gezeigt:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Um ein Rollback einer beliebigen anderen Komponente auf dem Knoten durchzuführen, deinstallieren Sie nur diese Komponente, wie im folgenden Beispiel gezeigt:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Dabei ist component der Komponentenname.

    3. Für ein Rollback des Edge Routers müssen Sie nicht nur die Komponentengruppe edge-gateway deinstallieren, sondern auch den Inhalt der Datei /opt/nginx/conf.d löschen:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Deinstallieren Sie Version 4.52.01 von apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installieren Sie die Version 4.51.00 des Dienstprogramms apigee-service und die zugehörigen Abhängigkeiten. Im folgenden Beispiel wird die Version 4.51.00 von apigee-service installiert:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    Dabei sind uName und pWord der Nutzername und das Passwort, die Sie von Apigee erhalten haben. Wenn Sie pWord weglassen, werden Sie aufgefordert, ihn einzugeben.

    Wenn Sie eine Fehlermeldung erhalten, prüfen Sie, ob Sie die Datei bootstrap.sh in Schritt 1 heruntergeladen haben.

  7. apigee-setup installieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Installieren Sie die ältere Version der Komponente:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Dabei ist component die zu installierende Komponente und configFile die Konfigurationsdatei für die ältere Version.

  9. Wenn Sie ein Rollback für Qpid durchführen, leeren Sie iptables:
    sudo iptables -F
  10. Wiederholen Sie diesen Vorgang für jeden Knoten, auf dem die Komponente gehostet wird, für die Sie das Rollback durchführen möchten.

Rollback zu einem vorherigen Patchrelease durchführen

Wenn Sie für eine Komponente ein Rollback auf einen bestimmten Patchrelease durchführen möchten, führen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, folgende Schritte aus:

  1. Laden Sie die spezifische Komponentenversion herunter:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    Dabei ist component_version die zu installierende Komponente und der zu installierende Patchrelease. Beispiel:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

    Wenn Sie das Apigee-Online-Repository verwenden, können Sie die verfügbaren Komponentenversionen mit dem folgenden Befehl ermitteln:

    yum --showduplicates list comp

    Beispiel:

    yum --showduplicates list edge-ui
  2. Verwenden Sie apigee-setup, um die Komponente zu installieren:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    Beispiel:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    Beachten Sie, dass Sie bei der Installation nur den Namen der Komponente angeben, nicht die Version.

  3. Wiederholen Sie diesen Vorgang für jeden Knoten, auf dem die Komponente gehostet wird, für die Sie das Rollback durchführen möchten.

Rollback für das Postgres 10.17-Update durchführen

Wenn Sie von Version 4.50.00 oder 4.51.00 ein Upgrade auf 4.52.01 durchgeführt haben, müssen Sie zusätzlich zu den Edge-Komponenten auch ein Rollback für das Postgres-Update durchführen.

So führen Sie ein Rollback des Postgres-Updates durch, wenn Postgres in einer Master-Standby-Konfiguration aktualisiert wird:

  • Stufen Sie den neuen Stand-by-Knoten zum Postgres-Master hoch. Der neue Postgres-Master ist die gleiche Version wie Ihre vorherige Edge-Installation.
  • Konfigurieren Sie den alten Standby-Knoten als Standby-Knoten des neuen Masters. Der alte Standby-Knoten ist dieselbe Version wie Ihre vorherige Edge-Installation.
  • Registrieren Sie die neuen Master- und Standby-Knoten bei den Analyse- und Nutzergruppen.

Wenn das Rollback abgeschlossen ist, ist der alte Masterknoten nicht mehr erforderlich. Anschließend können Sie den alten Masterknoten außer Betrieb nehmen.

  1. Prüfen Sie, ob der neue Stand-by-Postgres-Knoten ausgeführt wird:
    /opt/apigee/apigee-service/bin/apigee-all status

    Wenn Postgres nicht ausgeführt wird, starten Sie es:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Achten Sie darauf, dass Postgres auf dem alten Masterknoten und dem alten Standby-Knoten beendet wird:
    /opt/apigee/apigee-service/bin/apigee-all status

    Wenn Postgres ausgeführt wird, beenden Sie es:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. Starten Sie Qpid, falls installiert, auf dem alten Standby-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Stufen Sie den neuen Stand-by-Knoten als Postgres-Master hoch:
    1. Stufen Sie den neuen Standby-Knoten zum neuen Master hoch:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Wenn Sie dazu aufgefordert werden, geben Sie das Postgres-Passwort für den „apigee“-Benutzer ein, der standardmäßig „postgres“ lautet.

    2. Bearbeiten Sie die Konfigurationsdatei, die Sie zum Installieren Ihrer aktuellen Version von Edge verwendet haben, um Folgendes anzugeben:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Konfigurieren Sie den neuen Master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Wenn Sie bereits ein Upgrade des alten Standby-Knotens auf die neuere Version durchgeführt haben, müssen Sie zuerst ein Downgrade der Apigee-Software auf dem alten Standby-Knoten ausführen. Wenn Sie noch die ältere Version auf dem alten Standby-Knoten haben, können Sie diesen Schritt überspringen und mit Schritt 6 fortfahren.
    1. Beenden Sie Postgres auf dem alten Standby-Knoten:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Deinstallieren Sie Postgres vom alten Stand-by-Knoten:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Löschen Sie das Postgres-Datenverzeichnis aus dem alten Standby-Knoten:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Laden Sie die ältere Version des Bootstraps (für die Apigee-Version, auf die Sie ein Rollback ausführen) auf den alten Standby-Knoten aus. Die genauen Schritte können je nach Verwendung einer internetbasierten oder Offline-Installation variieren. Wenn Sie die ältere Version von Apigee-Bootstrap ausführen, werden die Yum-Repositories mit älteren Apigee-Daten der Version eingerichtet.
    5. Richten Sie Postgres-Komponenten auf dem alten Standby-Knoten ein:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Prüfen und bestätigen Sie, dass Postgres-Komponenten auf dem alten Standby-Knoten auf die ältere Version zurückgesetzt wurden:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Erstellen Sie den alten Standby-Knoten neu:
    1. Bearbeiten Sie die Konfigurationsdatei, die Sie zum Installieren Ihrer aktuellen Version von Edge verwendet haben, um Folgendes anzugeben:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Entfernen Sie das Datenverzeichnis auf dem alten Standby-Knoten:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Konfigurieren Sie den alten Standby-Knoten neu als Standby-Knoten des neuen Masters:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Achten Sie darauf, dass Postgres auf dem alten Standby-Knoten ausgeführt wird:
      /opt/apigee/apigee-service/bin/apigee-all status

      Wenn Postgres nicht ausgeführt wird, starten Sie es:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Prüfen Sie, ob der neue Standby-Knoten hinzugefügt wurde. Rufen Sie dazu die Datei /opt/apigee/apigee-postgresql/conf/pg_hba.conf auf dem neuen Master auf.
  8. Rufen Sie die aktuellen Analyse- und Verbrauchergruppeninformationen auf. Führen Sie dazu den folgenden Befehl auf dem Verwaltungsserver aus:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Dieser Befehl gibt den Namen der Analysegruppe im Feld name und den Namen der Verbrauchergruppe im Feld name unter consumer-groups zurück. Außerdem werden die UUIDs der alten Postgres-Master- und Stand-by-Knoten im Feld postgres-server und im Feld datastores zurückgegeben. Die Ausgabe sollte im folgenden Format aussehen:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }

  9. Rufen Sie die UUID-Adresse des alten Masters ab. Führen Sie dazu den folgenden curl-Befehl auf dem alten Masterknoten aus:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Die UUID des Knotens sollte am Ende der Ausgabe in folgendem Format angezeigt werden:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. Wiederholen Sie den vorherigen Schritt, um die IP-Adressen des alten Standby-Knotens und des neuen Masters abzurufen.
  11. Entfernen Sie alte Master- und Standby-Knoten aus der Nutzergruppe:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    Dabei sind axgroup-001 und consumer-group-001 die Standardnamen der Analyse- und Nutzergruppen. masterUUID,standbyUUID befinden sich in derselben Reihenfolge wie oben angezeigt, als Sie die aktuellen Analysen und Informationen zu Verbrauchergruppen aufgerufen haben. Möglicherweise müssen Sie sie als standbyUUID,masterUUID angeben.

    Die Eigenschaft datastores für consumer-groups sollte jetzt leer sein.

  12. Entfernen Sie die alten Master- und Standby-Knoten aus der Analysegruppe:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    Die Eigenschaft postgres-server unter uuids sollte jetzt leer sein.

  13. Registrieren Sie neue PG-Master- und Standby-Knoten bei den Analyse- und Nutzergruppen:
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  14. Validieren Sie die Analysegruppe:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Die UUIDs der neuen Master- und Standby-Knoten sollten in der Analysegruppe und der Nutzergruppe aufgeführt sein.

  15. Starten Sie den Edge-Management-Server neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Starten Sie alle Qpid-Server neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Starten Sie alle Postgres-Server neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. Überprüfen Sie den Replikationsstatus, indem Sie die folgenden Skripts auf beiden Servern ausführen. Das System sollte auf beiden Servern identische Ergebnisse anzeigen, um eine erfolgreiche Replikation zu gewährleisten:

    Führen Sie auf dem neuen Master Folgendes aus:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Prüfen Sie, ob es sich um den Master handelt. Auf dem alten Standby-Knoten:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Prüfen Sie, ob es sich um den Standby-Modus handelt.

  19. Wiederholen Sie den vorherigen Schritt nach mehreren API-Anfragen, um dafür zu sorgen, dass die Knoten synchron sind.
  20. Außer Betrieb nehmen Sie den alten Postgres-Master wie unter Postgres-Knoten außer Betrieb nehmen vor.

    Alternativ können Sie Qpid vom alten Master deinstallieren und Qpid auf dem neuen Masterknoten installieren. Nach der Deinstallation von Qpid können Sie den alten Masterknoten außer Betrieb nehmen.

Rollback für mTLS durchführen

Führen Sie auf allen Hosts die folgenden Schritte aus, um ein Rollback der mTLS-Aktualisierung durchzuführen:

  1. Apigee beenden:
    apigee-all stop
  2. mTLS beenden:
    apigee-service apigee-mtls uninstall
  3. mTLS neu installieren:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf