Rollback von Apigee Edge 4.52.02 durchführen

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

Sie können ein Rollback von Edge 4.52.02 auf die folgenden Hauptversionen durchführen:

  • Version 4.52.01
  • Version 4.52.00
  • Version 4.51.00

Das Rollback einer Version beinhaltet das Rollback aller Komponenten, für die Sie ein Upgrade durchgeführt haben. Je nach Version müssen Sie möglicherweise auch spezielle Überlegungen berücksichtigen, bevor Sie ein Rollback bestimmter Softwarekomponenten durchführen. In der folgenden Tabelle sind die verschiedenen Softwareprogramme aufgeführt, für die beim Rollback möglicherweise besondere Schritte erforderlich sind:

Rollback auf Version Besondere Berücksichtigung bei Software
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

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

  1. Rollback auf eine vorherige Haupt- oder Nebenversion durchführen: Beispiel: von 4.52.02 bis 4.52.00.
  2. Rollback auf eine frühere Patchversion im selben Release. Beispiel: von 4.52.00.02 bis 4.52.00.01.

Weitere Informationen finden Sie unter Apigee Edge-Releaseprozess.

Reihenfolge des Rollbacks

Das Rollback von Komponenten sollte in umgekehrter Reihenfolge erfolgen, in der sie aktualisiert wurden, mit der Ausnahme, dass für Verwaltungsserver nach Cassandra ein Rollback durchgeführt werden sollte.

Eine typische allgemeine Rollback-Reihenfolge für Private Cloud 4.52.02 sieht so aus:

  1. Rollback von Postgres, Qpid und anderen analysebezogenen Komponenten durchführen
  2. Rollback von Routern und Nachrichtenprozessoren durchführen
  3. Rollback von Cassandra, Zookeeper durchführen
  4. Rollback-Verwaltungsserver

Angenommen, Sie haben den gesamten Cassandra-Cluster, alle Ihre Verwaltungsserver und einige RMPs von Version 4.52.01 auf Version 4.52.02 aktualisiert und möchten ein Rollback durchführen. In diesem Fall würden Sie:

  1. Rollback aller RMPs nacheinander durchführen
  2. Rollback des gesamten Cassandra-Clusters mit Sicherungen durchführen
  3. Rollback der Edge Management-Serverknoten einzeln durchführen

Wer ein Rollback durchführen kann

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 der Benutzer „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 mit weniger als 1.000, müssen Sie den Router als Root oder als Nutzer mit Zugriff auf diese Ports ausführen. Oder Sie führen eine Komponente als ein Nutzer und eine andere Komponente als ein anderer Nutzer aus.

Komponenten mit gemeinsamem Code

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

  • edge-management-server (Verwaltungsserver)
  • edge-message-processor (Nachrichtenverarbeiter)
  • 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 jeden von ihnen ein Rollback für alle drei durchführen.

Rollback von Cassandra

Wenn ein größeres Upgrade von Cassandra auf einem bestimmten Cassandra-Knoten ausgeführt wird, ändert Cassandra das Schema der auf dem Knoten gespeicherten Daten, wodurch ein direktes Rollback nicht möglich ist. Es gibt zwei Methoden für das Rollback. Sie verwenden je nach Status des Upgrades, von dem aus Sie ein Rollback durchführen, eine dieser Methoden.

Methoden für das Rollback

Knoten löschen und vorhandene Knoten im Cluster verwenden, um den Knoten neu zu erstellen

Dieses Verfahren kann verwendet werden, wenn Sie mindestens ein voll funktionsfähiges Rechenzentrum im Cluster haben, das noch mit der älteren Version von Cassandra (Cassandra 2.1.22) ausgeführt wird. Wenn Sie ein Upgrade für den gesamten Cassandra-Cluster durchgeführt haben und ein Rollback durchführen möchten, führen Sie die Schritte unter Sicherung löschen und wiederherstellen oder VM-Snapshot wiederherstellen aus.

Schritte für Rollback

  1. Beginnen Sie mit dem Knoten, für den ein Rollback durchgeführt werden soll:
    • Beenden Sie Cassandra auf dem Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Deinstallieren Sie die Cassandra-Software vom Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Entfernen Sie das Datenverzeichnis vom Knoten:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Laden Sie den Bootstrap der älteren Version von Edge für die private Cloud herunter, zu der Sie ein Rollback durchführen möchten, und führen Sie sie aus.

    Beispiel:Für ein Rollback auf 4.52.01

    • Laden Sie die Bootstrap-Version von 4.52.01 herunter:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Führen Sie Bootstrap von 4.52.01 aus:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Richten Sie Cassandra auf dem Knoten ein:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Führen Sie die Neuerstellung des Knotens aus. Geben Sie dazu den Namen des funktionalen Rechenzentrums an:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Wiederholen Sie die obigen Schritte einzeln auf jedem Knoten, für den ein Rollback durchgeführt werden soll.
  2. Nachdem das Rollback für alle Knoten durchgeführt und die Knoten neu erstellt wurden:
    • Führen Sie die Einrichtung eines beliebigen Verwaltungsserverknotens aus. Achten Sie darauf, dass der Verwaltungsserver aus der Rollback-Version stammt. Falls nicht, führen Sie auch ein Rollback für den Verwaltungsserver durch.
    • Stoppen Sie den Verwaltungsserver:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Wenn du die Monetarisierung nutzt, deinstalliere auch die Monetarisierung:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Deinstallieren Sie den Verwaltungsserver:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Laden Sie den Bootstrap der älteren Version herunter und führen Sie ihn aus. Führen Sie beispielsweise die folgenden Schritte aus, um das Bootstrap der Version 4.52.01 herunterzuladen und auszuführen:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • Führen Sie die Einrichtung eines Knotens für den Verwaltungsserver aus:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Optimierung nach Neuerstellung

In den obigen Schritten werden während der Neuerstellung alle Daten im Knoten vom Remote-Rechenzentrum gestreamt. Sie können diesen Prozess optimieren, indem Sie eine Reparatur verwenden, sobald alle Replikate an das lokale Rechenzentrum gestreamt wurden. Dadurch wird DC-übergreifendes Streaming vermieden und die Ausführung sollte schneller gehen, als alle Knoten aus einem Remote-DC neu zu erstellen.

Beispiel: Angenommen, Sie haben sechs Cassandra-Knoten im lokalen Rechenzentrum. Standardmäßig ist der Replikationsfaktor von Apigee 3, sodass jeder Knoten 50% der Daten besitzt. In diesem Fall können Sie die Knoten 1 und 4 mithilfe des obigen Verfahrens neu erstellen. Führen Sie für die Knoten 2, 3, 5 und 6 die folgenden Schritte aus, um die Sicherung wiederherzustellen und eine Reparatur durchzuführen.

  1. Befolgen Sie das Verfahren bis zu Schritt 6 (wie dokumentiert), um Replikate im lokalen Rechenzentrum neu zu erstellen.
  2. Führen Sie für die verbleibenden Knoten nacheinander die folgenden Schritte für jeden verbleibenden Knoten aus.
    • Stellen Sie die Sicherung wieder her, die Sie auf diesem Knoten erstellt haben. Hinweis: Diese Sicherung würde wahrscheinlich veraltete Daten enthalten, da diese Sicherung vor dem Start des Cassandra-Upgrades erstellt wurde:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Wenn Sie einen VM-Snapshot des Knotens haben, können Sie den Snapshot statt der Cassandra-Sicherung wiederherstellen.
    • Nachdem die Sicherung wiederhergestellt wurde, starten Sie den Cassandra-Dienst auf dem Knoten
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
      :
    • Führen Sie eine Reparatur auf dem Knoten aus, damit die neuesten Daten aus einem vorhandenen Rechenzentrum gestreamt werden können:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Wiederholen Sie die Schritte drei bis sechs auf jedem Knoten, den Sie reparieren möchten.

Sicherungs-/VM-Snapshot löschen und wiederherstellen

Dieses Verfahren ist das einzige, das verfügbar ist, wenn Sie ein Upgrade des gesamten Cassandra-Clusters durchgeführt haben und ein Rollback ausführen möchten.

Darüber hinaus sind Apigee-Sicherungen knotenspezifisch. Eine Sicherung, die von einem Knoten auf einen anderen übertragen wurde, kann nicht wiederhergestellt werden. Cassandra-Sicherungen enthalten Knotenmetadateninformationen wie IP-Adresse, Ringposition usw.

  1. Beginnen Sie mit einem Cassandra-Knoten im Cluster:
    • Beenden Sie den Cassandra-Dienst auf dem Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Deinstallieren Sie die Cassandra-Software vom Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Entfernen Sie das Datenverzeichnis vom Knoten:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Laden Sie Bootstrap der älteren Version von Edge für Private Cloud herunter und führen Sie sie aus, zu der Sie ein Rollback durchführen möchten.

    Beispiel: Rollback auf 4.52.01

    • Laden Sie die Bootstrap-Version von 4.52.01 herunter:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Führen Sie Bootstrap von 4.52.01 aus:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Richten Sie Cassandra auf dem Knoten ein:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Stellen Sie die Sicherung auf dem Knoten wie unter Aus einer Sicherung wiederherstellen beschrieben wieder her.
    • Beenden Sie Cassandra auf dem Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Datenverzeichnis löschen:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Sicherung wiederherstellen:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Starten Sie den Cassandra-Dienst auf dem Knoten
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
      :
    • Wiederholen Sie die Schritte auf jedem Cassandra-Knoten einzeln.
    • Führen Sie die Reparatur nacheinander für die Knoten durch:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Rollback des Updates für Zookeeper 3.8.3 durchführen

Wenn Sie ein Rollback auf Version 4.52.00 oder 4.51.00 durchführen, müssen Sie einige spezielle Schritte beachten, bevor Sie ein Rollback von Zookeeper durchführen. Diese Schritte sind unter Rollback aufgeführt.

Wenn Sie ein Rollback auf Version 4.52.01 durchführen, führen Sie für Zookeeper ein Rollback wie für jede andere Software durch, wie im Abschnitt Rollback auf eine vorherige Haupt- oder Nebenversion durchführen unten beschrieben.

Rollback für QPID durchführen

Wenn Sie ein Rollback auf die Versionen 4.52.00 oder 4.51.00 durchführen, müssen Sie einige spezielle Schritte beachten, bevor Sie Qpid zurücksetzen. Diese Schritte sind unter Rollback aufgeführt.

Wenn Sie ein Rollback auf Version 4.52.01 durchführen, führen Sie für Qpid ein Rollback für jede Software aus, wie unter Rollback auf eine vorherige Haupt- oder Nebenversion durchführen beschrieben.

Rollback des Updates für Postgres 10.17 durchführen

Wenn Sie ein Rollback auf Version 4.51.00 durchführen, müssen Sie einige spezielle Schritte beachten, bevor Sie Postgres zurücksetzen. Diese Schritte sind unter Rollback aufgeführt.

Wenn Sie ein Rollback auf Version 4.52.01 oder 4.52.00 durchführen, führen Sie ein Rollback für Postgres wie für jede Software durch, wie im Abschnitt Rollback auf eine vorherige Haupt- oder Nebenversion durchführen unten beschrieben.

Rollback auf eine vorherige Haupt- oder Nebenversion durchführen

Führen Sie für jeden Knoten, auf dem die Komponente gehostet wird, folgende Schritte aus, um ein Rollback auf eine vorherige Haupt- oder Nebenversion durchzuführen:

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

    • Lade bootstrap_4.51.00.sh herunter, um ein Rollback auf Version 4.51.00 durchzuführen:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Halten Sie die Komponente für ein Rollback an:
    1. Wenn Sie für eine der Komponenten mit gemeinsamem Code auf dem Knoten ein Rollback durchführen möchten, müssen Sie alle wie im folgenden Beispiel 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. Für ein Rollback einer beliebigen anderen Komponente auf dem Knoten müssen Sie nur diese Komponente beenden:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Wenn Sie die Monetarisierung rückgängig machen, 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 dem Knoten durchzuführen:
    1. Wenn Sie für eine der Komponenten mit gemeinsamem Code auf dem Knoten ein Rollback durchführen möchten, müssen 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. Wenn Sie ein Rollback einer anderen Komponente auf dem Knoten durchführen 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. 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.02 von apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installieren Sie Version 4.51.00 des Dienstprogramms apigee-service und der zugehörigen Abhängigkeiten. Im folgenden Beispiel wird 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 ein Fehler auftritt, prüfen Sie, ob Sie in Schritt 1 die Datei bootstrap.sh heruntergeladen haben.

  7. Installieren Sie apigee-setup:
    /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.

Rollback auf einen vorherigen Patchrelease durchführen

Führen Sie für jeden Knoten, auf dem die Komponente gehostet wird, folgende Schritte aus, um ein Rollback einer Komponente auf ein bestimmtes Patch-Release durchzuführen:

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

    Dabei ist component_version die Komponente und der Patchrelease, die installiert werden sollen. 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.

Rollback für mTLS durchführen

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

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