Rollback für Apigee Edge 4.18.05 durchführen

Edge for Private Cloud v4.18.05

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

Sie können ein Rollback von Edge 4.18.05 auf die folgenden Feature-Release-Versionen durchführen:

  • Version
  • Version 4.17.09*
  • Version 4.17.05*

* Für ein Rollback vom 4.18.05. auf den 4.17.09 oder 4.17.05 müssen Sie Rollback für Postgres durchführen und die Komponenten für jeden Knoten. Wenn Sie ein Rollback auf Version 4.18.01 durchführen, müssen Sie für Postgres im Rahmen des Upgrades kein Postgres-Update enthielt.

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

  1. Rollback auf eine frühere Funktionsversion durchführen. Zum Beispiel von 4.18.05 bis 18.4.01.
  2. Rollback auf eine frühere Updateversion im selben Release: Für Beispiel: von 4.18.05.02 bis 4.18.05.01.

Weitere Informationen finden Sie unter Apigee Edge-Version

Wer ein Rollback durchführen kann

Der Nutzer, der ein Rollback durchführt, sollte mit dem Nutzer identisch sein, der Edge ursprünglich aktualisiert hat, oder eine ausgeführt wird.

Standardmäßig werden Edge-Komponenten als der Benutzer „apigee“ ausgeführt. In einigen Fällen führen Sie möglicherweise Edge aus, als unterschiedliche Nutzende. Wenn der Router beispielsweise auf privilegierte Ports wie unter 1.000 liegen, muss der Router als Root oder als Nutzer mit Zugriff darauf ausgeführt werden. Ports. 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 einen der müssen Sie für alle auf diesem Knoten befindlichen Komponenten 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 Sie beispielsweise den Verwaltungsserver, den Router und den Message Processor auf Knoten ausführen. Um für einen von ihnen ein Rollback durchzuführen, müssen Sie für alle drei ein Rollback durchführen.

Rollback auf eine frühere Funktionsversion durchführen

Für ein Rollback vom 4.18.05 auf den 4.17.09 oder 4.17.05 müssen Sie Rollback für Postgres durchführen und gleichzeitig für jeden Knoten. Wenn Sie von Version 4.18.01 ein Rollback durchführen, müssen Sie für Postgres im Rahmen des Upgrades kein Postgres-Update enthielt.

Führen Sie für jeden Knoten, der den Komponente:

  1. Laden Sie die Datei bootstrap.sh für die Version herunter, auf die Sie umstellen möchten. zurück:

    • Lade bootstrap_4.18.01.sh herunter, um ein Rollback auf Version 4.18.01 durchzuführen:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Lade bootstrap_4.17.09.sh herunter, um ein Rollback auf Version 4.17.09 durchzuführen:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
    • Lade bootstrap_4.17.05.sh herunter, um ein Rollback auf Version 4.17.05 durchzuführen:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh 
  2. Stoppen Sie die Komponente für ein Rollback: <ph type="x-smartling-placeholder">
      </ph>
    1. So führen Sie ein Rollback für eine der Komponenten mit gemeinsamem Code auf der müssen Sie sie alle beenden, 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. Für ein Rollback einer beliebigen anderen Komponente auf dem Knoten müssen Sie nur diese Komponente beenden: <ph type="x-smartling-placeholder">
        </ph>
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Wenn du ein Rollback der Monetarisierung durchführst, deinstalliere sie auf allen Verwaltungsservern und Nachrichten Prozessorknoten:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Deinstallieren Sie die Komponente, um ein Rollback auf dem Knoten durchzuführen: <ph type="x-smartling-placeholder">
      </ph>
    1. So führen Sie ein Rollback für eine der Komponenten mit gemeinsamem Code auf der Knoten müssen Sie alle deinstallieren, indem Sie die Komponente edge-gateway deinstallieren. gruppieren, wie das folgende Beispiel zeigt:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Wenn Sie für eine andere Komponente auf dem Knoten ein Rollback durchführen möchten, deinstallieren Sie nur diese Komponente, da der Folgendes Beispiel zeigt:
      /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 den Inhalt des /opt/nginx/conf.d-Datei zusätzlich zur Deinstallation des edge-gateway-Komponentengruppe:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Deinstallieren Sie Version 4.18.05 von apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installiere Version 4.18.01, 4.17.09 oder 4.17.05 von apigee-service Dienstprogramms und seiner Abhängigkeiten. Im folgenden Beispiel wird Version 4.17.09 des apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

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

    Wenn ein Fehler auftritt, prüfen Sie, ob Sie in Schritt die Datei bootstrap.sh heruntergeladen haben 1.

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

Für ein Rollback vom 4.18.05 auf den 4.17.09 oder 4.17.05 müssen Sie Rollback für Postgres durchführen und gleichzeitig für jeden Knoten. Wenn Sie von Version 4.18.01 ein Rollback durchführen, müssen Sie für Postgres im Rahmen des Upgrades kein Postgres-Update enthielt.

Rollback auf eine vorherige Updateversion durchführen

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

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

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

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

    Wenn Sie das Apigee-Online-Repository verwenden, können Sie die verfügbare Komponente ermitteln. Versionen mit dem folgenden Befehl:

    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.

Für ein Rollback vom 4.18.05 auf den 4.17.09 oder 4.17.05 müssen Sie Rollback für Postgres durchführen und gleichzeitig für jeden Knoten. Wenn Sie von Version 4.18.01 ein Rollback durchführen, müssen Sie für Postgres im Rahmen des Upgrades kein Postgres-Update enthielt.

Rollback des Updates für Postgres 9.6 durchführen

Wenn Sie von Version 4.17.05 oder 4.17.09 auf 4.18.05 aktualisiert haben, müssen Sie für Ihre Postgres wird zusätzlich zu den Edge-Komponenten aktualisiert.

So führen Sie ein Rollback der Postgres-Aktualisierung aus, wenn Postgres in einer Master-Standby-Konfiguration aktualisiert wird:

  • Stufen Sie den neuen Standby-Knoten zum Postgres-Master hoch. Der neue Postgres-Master ist dieselbe Version wie bei der vorherigen Edge-Installation.
  • Konfigurieren Sie den alten Standby-Knoten als Standby-Knoten des neuen Masters. Den alten Standby-Knoten haben dieselbe Version wie bei der vorherigen Edge-Installation.
  • Registrieren Sie die neuen Master- und Standby-Knoten bei den Analyse- und Nutzergruppen.

Wenn Sie mit dem Rollback fertig sind, ist der alte Masterknoten nicht mehr erforderlich. Sie können und den alten Masterknoten außer Betrieb nehmen.

  1. Achten Sie darauf, dass 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. Stellen Sie sicher, dass Postgres auf dem alten Master-Knoten und dem alten Standby-Knoten 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. Wenn installiert, starten Sie Qpid auf dem alten Standby-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Stufen Sie den neuen Standby-Knoten als Postgres-Master hoch: <ph type="x-smartling-placeholder">
      </ph>
    1. Stufen Sie den neuen Standby-Knoten zum neuen Master hoch:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Geben Sie bei Aufforderung das Postgres-Passwort für „apigee“ ein „Nutzer“, was standardmäßig auf „postgres“.

    2. Bearbeiten Sie die Konfigurationsdatei, die Sie zum Installieren der aktuellen Version von Edge verwendet haben, um anzugeben, Folgendes:
      # 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. Erstellen Sie den alten Standby-Knoten neu: <ph type="x-smartling-placeholder">
      </ph>
    1. Bearbeiten Sie die Konfigurationsdatei, die Sie zum Installieren der aktuellen Version von Edge verwendet haben, um anzugeben, Folgendes:
      # 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 zu einem Standby-Knoten des neuen Masters:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Stellen Sie sicher, dass Postgres auf dem alten Standby-Knoten ausgeführt wird:
      /opt/apigee/apigee-service/bin/apigee-all status

      Wenn er nicht ausgeführt wird, starten Sie ihn:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Überprüfen Sie in der Datei /opt/apigee/apigee-postgresql/conf/pg_hba.conf auf der neuen Masterinstanz.
  7. Sehen Sie sich die aktuellen Analyse- und Nutzergruppeninformationen an, indem Sie den folgenden Befehl ausführen auf dem Verwaltungsserver:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Dieser Befehl gibt den Namen der Analysegruppe im Feld name zurück und der Name der Verbrauchergruppe im Feld name unter consumer-groups. Außerdem gibt die UUIDs der alten Postgres-Master- und Standby-Knoten im postgres-server und im Feld datastores. Sie sollten Folgendes sehen: -Ausgabe im Format:

    {
      "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" : {
      }
    }
  8. Rufen Sie die UUID-Adresse des alten Masters ab, indem Sie den folgenden curl-Befehl für dem alten Masterknoten:
    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"
  9. Wiederholen Sie den vorherigen Schritt, um die IP-Adressen des alten und des neuen Standby-Knotens abzurufen. Master.
  10. 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 Analysen und Nutzergruppen. masterUUID,standbyUUID befinden sich in derselben Reihenfolge wie sie oben angezeigt, wenn Sie sich die aktuellen Informationen zu Analysen und Nutzergruppen oben angesehen haben. Ich müssen sie möglicherweise als standbyUUID,masterUUID angeben.

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

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

  12. 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
  13. 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 aufgeführt sein und die Nutzergruppe.

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

    Führen Sie auf dem neuen Master folgenden Befehl aus:

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

    Validieren, dass 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.

  18. Wiederholen Sie den vorherigen Schritt, nachdem Sie mehrere API-Anfragen gestellt haben, um sicherzustellen, dass sich die Knoten in synch.
  19. Fahren Sie den alten Postgres-Master mit dem Verfahren in Apigee Edge aktualisieren 4.16.01/4.16.05 bis 4.17.09.

    Alternativ können Sie Qpid von der alten Master-Instanz deinstallieren und Installieren Sie Qpid auf dem neuen Masterknoten. Nach der Deinstallation von Qpid können Sie den alten Masterknotens.

Deinstallieren Sie Qpid vom alten Master und installieren Sie Qpid auf der neuen Master-Instanz

So deinstallieren Sie Qpid von der alten Master-Instanz und installieren es auf der neuen Master-Instanz:

  1. Blockieren des Zugriffs auf Qpid-Port 5672 auf dem alten Master durch Message Processor durch und führen Sie den folgenden Befehl für alle Message Processors aus:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Stellen Sie sicher, dass die Qpid-Nachrichtenwarteschlange leer ist, indem Sie den folgenden Befehl ausführen. Sie können nicht deinstalliere Qpid, bis alle ausstehenden Nachrichten verarbeitet wurden:
    qpid-stat -q

    Mit diesem Befehl wird eine Tabelle mit einer Anzahl für msg, msgIn, and msgOut angezeigt. Alle Nachrichten wurden verarbeitet, wenn msg=0, und msgIn=msgOut.

  3. Ermitteln Sie die UUID des Qpid-Servers auf dem alten Master, indem Sie den folgenden Befehl auf ausführen: dem alten Meister. Speichern Sie diese Informationen für später:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Beenden Sie Qpid auf der alten Master-Instanz:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Qpid-Server deinstallieren:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Entfernen Sie den alten Qpid-Server aus den Analyse- und Nutzergruppen:
    curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Entfernen Sie den alten Qpid-Server aus Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Installieren Sie Qpid auf dem neuen Master:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Ermitteln Sie die UUID des Qpid-Servers auf dem neuen Master, indem Sie den folgenden Befehl auf ausführen: dem neuen Master an. Speichern Sie diese Informationen für später:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registrieren Sie den neuen Qpid-Server 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=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v
  11. Starten Sie alle Message Processors neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Führen Sie den folgenden Befehl auf dem neuen Qpid-Server aus, um zu prüfen, ob Warteschlangen erstellt wurden:
    qpid-stat -q

    Achten Sie darauf, dass msg, msgIn und msgOut aktualisiert, wenn der Qpid-Server Nachrichten verarbeitet.

Wenden Sie sich an den Apigee Edge-Support, wenn beim Rollback Probleme auftreten.