Rollback von Apigee Edge 4.52.02 durchführen

Wenn bei einem Update auf Edge 4.52.02 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.52.02 auf die folgenden Hauptversionen zurücksetzen:

  • Version 4.52.01
  • Version 4.52.00
  • Version 4.51.00

Wenn Sie eine Version rückgängig machen, wird jede Komponente rückgängig gemacht, die Sie möglicherweise aktualisiert haben. Je nach der Version, von der aus Sie gestartet sind, müssen Sie möglicherweise besondere Aspekte berücksichtigen, bevor Sie bestimmte Softwarekomponenten rückgängig machen. In der folgenden Tabelle sind die verschiedenen Softwareprogramme aufgeführt, für die beim Rollback möglicherweise spezielle Schritte erforderlich sind:

Rollback auf Version Besondere Hinweise für 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 ein Rollback ausführen können:

  1. Führen Sie ein Rollback auf eine vorherige Haupt- oder Nebenversion durch. Beispiel: von 4.52.02 auf 4.52.00.
  2. Rollback zu einem früheren Patch-Release im selben Release durchführen Beispiel: von 4.52.00.02 auf 4.52.00.01.

Weitere Informationen finden Sie im Apigee Edge-Releaseprozess.

Reihenfolge des Rollbacks

Das Rollback von Komponenten sollte in umgekehrter Reihenfolge der durchgeführten Upgrades erfolgen, mit der Ausnahme, dass Verwaltungsserver nach Cassandra rückgesetzt werden sollten.

Ein typischer allgemeiner Ablauf für das Rollback bei Private Cloud 4.52.02 sieht so aus:

  1. Rollback für Postgres, Qpid und andere analysebezogene Komponenten
  2. Rollback für Router und Message Processors
  3. Rollback für Cassandra, Zookeeper
  4. Rollback-Verwaltungsserver

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

  1. Alle RMPs einzeln rückgängig machen
  2. Mithilfe von Back-ups ein Rollback für den gesamten Cassandra-Cluster ausführen
  3. Edge-Verwaltungsserverknoten einzeln rückgängig machen

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 von Cassandra

Wenn ein größeres Upgrade von Cassandra auf einem bestimmten Cassandra-Knoten durchgeführt wird, ändert Cassandra das Schema der auf dem Knoten gespeicherten Daten, was ein direktes Rollback unmöglich macht. Es gibt zwei Methoden für Rollbacks. Welche dieser Methoden Sie verwenden, hängt vom Status des Upgrades ab, von dem Sie rückgängig machen möchten.

Methoden für das Rollback

Vorhandene Knoten im Cluster löschen und zum Neuaufbau des Knotens verwenden

Dieser Vorgang kann durchgeführt werden, wenn im Cluster mindestens ein voll funktionsfähiges Rechenzentrum mit der älteren Cassandra-Version (Cassandra 2.1.22) vorhanden ist. Wenn Sie den gesamten Cassandra-Cluster aktualisiert haben und ein Rollback ausführen möchten, müssen Sie die Schritte unter Sicherung oder VM-Snapshot löschen und wiederherstellen ausführen.

Schritte für ein Rollback

  1. Beginnen Sie mit dem Knoten, für den Sie ein Rollback ausführen möchten:
    • 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 das Bootstrap der älteren Version von Edge for Private Cloud herunter und führen Sie es aus, zu der Sie ein Rollback ausführen möchten.

    Beispiel:Wenn Sie zu 4.52.01 zurückkehren möchten,

    • Bootstrap für 4.52.01 herunterladen:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Bootstrap von 4.52.01 ausführen:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Cassandra auf dem Knoten einrichten:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Führen Sie einen Neuaufbau auf dem Knoten aus, indem Sie den Namen des funktionsfähigen Rechenzentrums angeben:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Wiederholen Sie die oben genannten Schritte für jeden Knoten, für den Sie ein Rollback ausführen möchten.
  2. Nachdem alle Knoten rückgängig gemacht und neu erstellt wurden:
    • Führen Sie die Einrichtung eines beliebigen Verwaltungsserverknotens aus. Der Verwaltungsserver muss der Version entsprechen, die Sie rückgängig gemacht haben. Falls nicht, führen Sie auch ein Rollback für den Verwaltungsserver aus.
    • Halten Sie den Verwaltungsserver an:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Wenn Sie die Monetarisierung verwenden, deinstallieren Sie sie auch:
      /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 das Bootstrap der älteren Version herunter und führen Sie es aus. Führen Sie beispielsweise die folgenden Schritte aus, um das Bootstrap von 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 Verwaltungsserverknotens aus:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Optimierung nach dem Neuaufbau

Bei den oben genannten Schritten werden alle Daten im Knoten während des Neuaufbaus aus dem Remote-Rechenzentrum gestreamt. Sie können diesen Vorgang optimieren, indem Sie eine Reparatur verwenden, sobald alle Replikate an das lokale Rechenzentrum gestreamt wurden. Dadurch wird das Streaming zwischen Rechenzentren vermieden und es sollte schneller gehen, als alle Knoten von einem Remote-Rechenzentrum aus neu zu erstellen.

Beispiel:Angenommen, Sie haben sechs Cassandra-Knoten im lokalen Rechenzentrum. Der Standard-Replikationsfaktor von Apigee beträgt drei, sodass jeder Knoten 50% der Daten enthält. In diesem Fall können Sie Knoten 1 und 4 wie oben beschrieben 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 auszuführen.

  1. Führen Sie die Schritte bis zu Schritt 6 aus, um Replikatdateien im lokalen Rechenzentrum neu zu erstellen.
  2. Wiederholen Sie die folgenden Schritte für jeden verbleibenden Knoten.
    • Stellen Sie die Sicherung wieder her, die Sie auf diesem Knoten erstellt haben. Hinweis: Diese Sicherung enthält wahrscheinlich veraltete Daten, da sie vor Beginn 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 wiederherstellen, anstatt das Cassandra-Back-up wiederherzustellen.
    • Starten Sie nach der Wiederherstellung der Sicherung den Cassandra-Dienst auf dem Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Führen Sie eine Reparatur am 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 3 bis 6 für jeden Knoten, den Sie reparieren möchten.

Sicherung/VM-Snapshot löschen und wiederherstellen

Dieser Vorgang ist die einzige Möglichkeit, wenn Sie den gesamten Cassandra-Cluster aktualisiert und ein Rollback ausführen möchten.

Außerdem sind Apigee-Sicherungen knotenspezifisch. Es ist nicht möglich, eine Sicherung, die von einem Knoten erstellt wurde, auf einem anderen Knoten wiederherzustellen. Cassandra-Sicherungen enthalten Informationen zu Knotenmetadaten wie IP-Adresse und Ringposition.

  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 das Bootstrap der älteren Version von Edge for Private Cloud herunter und führen Sie es aus, zu der Sie ein Rollback ausführen möchten.

    Beispiel: Rollback auf 4.52.01

    • Bootstrap für 4.52.01 herunterladen:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Bootstrap von 4.52.01 ausführen:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Cassandra auf dem Knoten einrichten:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Wiederherstellen Sie die Sicherung auf dem Knoten mithilfe der Anleitung unter Wiederherstellung aus einem Back-up.
    • Beenden Sie Cassandra auf dem Knoten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Löschen Sie das Datenverzeichnis:
      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 für jeden Cassandra-Knoten einzeln.
    • Führen Sie die Reparatur auf den Knoten nacheinander aus:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Rollback für das Zookeeper 3.8.3-Update ausführen

Wenn Sie zu den Versionen 4.52.00 oder 4.51.00 zurückkehren, müssen Sie einige spezielle Schritte ausführen, bevor Sie Zookeeper zurücksetzen. Diese Schritte sind unter Rollback aufgeführt.

Wenn Sie zu Version 4.52.01 zurückkehren, führen Sie ein Rollback von Zookeeper wie bei jeder anderen Software aus, wie unten im Abschnitt Rollback auf eine vorherige Haupt- oder Nebenversion durchführen beschrieben.

Rollback Qpid

Wenn Sie auf die Versionen 4.52.00 oder 4.51.00 zurückgehen, müssen Sie einige spezielle Schritte ausführen, bevor Sie Qpid zurücksetzen können. Diese Schritte sind unter Rollback aufgeführt.

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

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

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

Wenn Sie zu Version 4.52.01 oder 4.52.00 zurückkehren, führen Sie ein Rollback von Postgres wie bei jeder anderen Software aus, wie unten im Abschnitt Rollback zu einer vorherigen Haupt- oder Nebenversion beschrieben.

Rollback auf einen vorherigen Haupt- oder Nebenrelease durchführen

Wenn Sie zu einer früheren Haupt- oder Minor-Version zurückkehren möchten, führen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, die folgenden Schritte aus:

  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.51.00 zurückkehren möchten, 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. 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 alle anhalten, wie im folgenden Beispiel gezeigt:
      /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 zurücksetzen möchten, beenden Sie nur diese Komponente:
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Wenn du die Monetarisierung rückgängig machen möchtest, deinstalliere sie auf allen Management-Servern 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 deinstallieren, 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ückgängig machen möchten, müssen Sie nicht nur die Komponente 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 die Version 4.52.02 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 der 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, sie einzugeben.

    Wenn ein Fehler auftritt, prüfen Sie, ob Sie die Datei bootstrap.sh in Schritt 1 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 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 einen vorherigen Patch-Release durchführen

Wenn Sie eine Komponente auf einen bestimmten Patch-Release zurücksetzen möchten, gehen Sie auf jedem Knoten, auf dem die Komponente gehostet wird, so vor:

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

    Dabei ist component_version die zu installierende Komponente und Patch-Version. 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 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.

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. So beenden Sie mTLS:
    apigee-service apigee-mtls uninstall
  3. mTLS neu installieren:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf