Rollback für Apigee Edge 4.51.00 durchführen

Wenn bei einem Update auf Edge 4.51.00 ein Fehler auftritt, können Sie die Komponente, die den Fehler verursacht hat, rückgängig machen und das Update dann noch einmal versuchen.

Sie können Edge 4.51.00 auf die folgenden Feature-Release-Versionen zurücksetzen:

  • Version 4.50.00
  • Version 4.19.06

Es gibt zwei Szenarien, in denen Sie ein Rollback ausführen können:

  1. Rollback auf einen vorherigen Feature-Release durchführen Beispiel: von 4.51.00 auf 4.50.00.
  2. Rollback auf eine vorherige Updateversion im selben Release durchführen Beispiel: von 4.50.00.02 auf 4.50.00.01.

Weitere Informationen finden Sie im Apigee Edge-Releaseprozess.

Wer kann ein Rollback ausführen?

Der Nutzer, der ein Rollback ausführt, muss derselbe sein wie der Nutzer, der Edge ursprünglich aktualisiert hat, oder ein Nutzer, der als Root ausgeführt wird.

Standardmäßig werden Edge-Komponenten als Nutzer „apigee“ 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. Sie können auch eine Komponente als einen Nutzer und eine andere Komponente als einen anderen Nutzer ausführen.

Komponenten mit gemeinsamem Code

Die folgenden Edge-Komponenten teilen sich gemeinsamen Code. Wenn Sie also eine dieser Komponenten auf einem Knoten rückgängig machen möchten, müssen Sie alle Komponenten auf diesem Knoten rückgängig machen.

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

Wenn Sie beispielsweise den Verwaltungsserver, den Router und den Nachrichtenprozessor auf dem Knoten installiert haben, müssen Sie alle drei zurücksetzen, um einen davon rückgängig zu machen.

Rollback auf einen vorherigen Feature-Release durchführen

Wenn Sie zu einem früheren Feature-Release zurückkehren möchten, gehen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, so vor:

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

    • Wenn Sie zu Version 4.50.00 zurückkehren möchten, laden Sie bootstrap_4.50.00.sh herunter:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • Wenn Sie zu 4.19.06 zurückkehren möchten, laden Sie bootstrap_4.19.06.sh herunter:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Beenden Sie die Komponente, um ein Rollback durchzuführen:
    1. Wenn Sie eine der Komponenten mit gemeinsamem Code auf dem Knoten rückgängig machen möchten, müssen Sie sie alle beenden, wie das folgende Beispiel zeigt:
      /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. Wenn Sie eine andere Komponente auf dem Knoten rückgängig machen möchten, 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 Management-Server- und Message-Processor-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Deinstallieren Sie die Komponente, um den Knoten rückgängig zu machen:
    1. Wenn Sie eine der Komponenten mit gemeinsamem Code auf dem Knoten rückgängig machen möchten, müssen Sie alle Komponenten entfernen, indem Sie die edge-gateway-Komponentengruppe deinstallieren, wie im folgenden Beispiel gezeigt:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Wenn Sie eine andere Komponente auf dem Knoten rückgängig machen möchten, deinstallieren Sie nur diese Komponente, wie im folgenden Beispiel gezeigt:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Dabei ist component der Name der Komponente.

    3. Wenn Sie den Edge-Router rücksetzen möchten, müssen Sie nicht nur die edge-gateway-Komponentengruppe deinstallieren, sondern auch den Inhalt der Datei /opt/nginx/conf.d löschen:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Deinstallieren Sie die Version 4.51.00 von apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installieren Sie die Version 4.19.06 oder 4.50.00 des apigee-service-Dienstprogramms und die zugehörigen Abhängigkeiten. Im folgenden Beispiel wird die Version 4.50.00 der apigee-service installiert:
    sudo bash /tmp/bootstrap_4.50.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, sie einzugeben.

    Wenn ein Fehler auftritt, 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 Qpid rückgängig machen, leeren Sie iptables:
    sudo iptables -F
  10. Wiederholen Sie diesen Vorgang für jeden Knoten, auf dem die Komponente gehostet wird, die Sie rückgängig machen möchten.

Rollback auf eine vorherige Updateversion durchführen

Wenn Sie eine Komponente auf eine bestimmte Version eines Release zurücksetzen möchten, führen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, die folgenden Schritte aus:

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

    Dabei ist component_version die zu installierende Komponente und Updateversion. Beispiel:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.18.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 Komponentennamen und nicht die Version angeben.

  3. Wiederholen Sie diesen Vorgang für jeden Knoten, auf dem die Komponente gehostet wird, die Sie rückgängig machen möchten.

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

Wenn Sie von Version 4.19.06 oder 4.50.00 auf Version 4.51.00 umgestellt haben, müssen Sie zusätzlich zu den Edge-Komponenten auch das PostgreSQL-Update rückgängig machen.

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

  • Stellen Sie den neuen Standby-Knoten als Postgres-Master bereit. Der neue Postgres-Master hat dieselbe Version wie Ihre vorherige Edge-Installation.
  • Konfigurieren Sie den alten Standby-Knoten als Standby-Knoten des neuen Masterknotens. Der alte Standby-Knoten hat dieselbe Version wie Ihre vorherige Edge-Installation.
  • Registrieren Sie die neuen Master- und Standby-Knoten bei den Analyse- und Verbrauchergruppen.

Wenn Sie mit dem Rollback fertig sind, 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 Standby-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. Prüfen Sie, ob Postgres auf dem alten Masterknoten und dem alten Standbyknoten beendet wurde:
    /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 auf dem alten Standby-Knoten, falls es installiert ist:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Stellen Sie den neuen Standby-Knoten als Postgres-Master bereit:
    1. Stellen Sie den neuen Standby-Knoten als neuen Master ein:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Geben Sie auf Aufforderung das Postgres-Passwort für den Nutzer „apigee“ ein. Standardmäßig ist dies „postgres“.

    2. Bearbeiten Sie die Konfigurationsdatei, mit der Sie die aktuelle Version von Edge installiert haben, und geben Sie Folgendes an:
      # 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 den alten Standby-Knoten bereits auf die neuere Version aktualisiert haben, müssen Sie zuerst die Apigee-Software auf dem alten Standby-Knoten auf die vorherige Version zurücksetzen. Wenn Sie die ältere Version noch 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 auf dem alten Standby-Knoten:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Löschen Sie das Postgres-Datenverzeichnis vom alten Standby-Knoten:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Laden Sie das Bootstrap der älteren Version (für die Apigee-Version, zu der Sie zurückkehren) auf dem alten Standby-Knoten herunter und führen Sie es aus. Die genaue Vorgehensweise kann je nach Art der Installation variieren. Wenn Sie die ältere Version des Apigee-Bootstraps ausführen, werden die Yum-Repositories mit den älteren Apigee-Daten 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 Sie, ob die 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. Wiederherstellen des alten Standby-Knotens:
    1. Bearbeiten Sie die Konfigurationsdatei, mit der Sie die aktuelle Version von Edge installiert haben, und geben Sie Folgendes an:
      # 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 als Standby-Knoten des neuen Masters neu:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Prüfen Sie, ob 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, indem Sie die Datei /opt/apigee/apigee-postgresql/conf/pg_hba.conf auf dem neuen Master aufrufen.
  8. Rufe die aktuellen Informationen zu Analysen und Verbrauchergruppen auf, indem du den folgenden Befehl auf dem Verwaltungsserver ausführst:
    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 Zielgruppe im Feld name unter consumer-groups zurück. Außerdem werden die UUIDs des alten PostgreSQL-Masters und der alten Standby-Knoten im Feld postgres-server und im Feld datastores zurückgegeben. Die Ausgabe sollte im folgenden Format angezeigt werden:

    {
      "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, indem Sie den folgenden curl-Befehl auf dem alten Masterknoten ausführen:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Die UUID des Knotens sollte am Ende der Ausgabe im folgenden 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 Masterknotens abzurufen.
  11. Entfernen Sie den alten Master und die 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 Verbrauchergruppen. masterUUID,standbyUUID sind in derselben Reihenfolge wie oben, als Sie sich die aktuellen Analysen und Informationen zu Verbrauchergruppen angesehen haben. Möglicherweise müssen Sie sie als standbyUUID,masterUUID angeben.

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

  12. Entfernen Sie den alten Master und die 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 Property postgres-server unter uuids sollte jetzt leer sein.

  13. Registrieren Sie neue PG-Master- und Standby-Knoten bei den Analyse- und Verbrauchergruppen:
    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. Prüfen 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 Verbrauchergruppe aufgeführt sein.

  15. Starten Sie den Edge-Verwaltungsserver 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. Prüfen Sie den Replikationsstatus, indem Sie die folgenden Scripts auf beiden Servern ausführen. Das System sollte auf beiden Servern identische Ergebnisse anzeigen, um eine erfolgreiche Replikation zu ermöglichen:

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

  19. Wiederholen Sie den vorherigen Schritt, nachdem Sie mehrere API-Anfragen gesendet haben, um sicherzustellen, dass die Knoten synchronisiert sind.
  20. Stellen Sie den alten Postgres-Master mithilfe der Anleitung unter Apigee Edge 4.16.01/4.16.05 auf 4.17.09 aktualisieren außer Betrieb.

    Alternativ können Sie Qpid vom alten Master deinstallieren und auf dem neuen Masterknoten installieren. Nachdem Sie Qpid deinstalliert haben, können Sie den alten Masterknoten außer Betrieb nehmen.

mTLS rückgängig machen

Führen Sie die folgenden Schritte auf allen Hosts aus, um das mTLS-Update rückgängig zu machen:

  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