Wycofywanie Apigee Edge 4.52.02

Jeśli podczas aktualizacji do wersji Edge 4.52.02 wystąpi błąd, możesz cofnąć zmianę komponentu, który spowodował błąd, a następnie spróbować ponownie przeprowadzić aktualizację.

Możesz przywrócić Edge 4.52.02 do tych wersji głównych:

  • Wersja 4.52.01
  • Wersja 4.52.00
  • Wersja 4.51.00

Przywracanie wersji obejmuje przywrócenie wszystkich komponentów, które zostały ulepszone. Dodatkowo, w zależności od wersji, z której korzystasz, przed przywróceniem niektórych komponentów oprogramowania może być konieczne uwzględnienie specjalnych kwestii. W tabeli poniżej znajdziesz różne programy, w przypadku których może być konieczne wykonanie specjalnych czynności podczas przywracania:

Przywróć do wersji Specjalne uwagi dotyczące oprogramowania
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Możesz wykonać cofnięcie zmian w 2 sytuacjach:

  1. Przywróć poprzednią wersję główną lub podrzędną. Na przykład z 4,52.02 na 4,52.00.
  2. Przywróć poprzednią wersję poprawki w ramach tej samej wersji. Na przykład z 4.52.00.02 na 4.52.00.01.

Więcej informacji znajdziesz w artykule Proces publikowania Apigee Edge.

Kolejność przywracania

Przywracanie komponentów powinno odbywać się w odwrotnej kolejności, w jakiej zostały one uaktualnione, z tym wyjątkiem, że serwery zarządzania powinny zostać przywrócone po Cassandra.

Typowa kolejność odzyskiwania wersji w przypadku Private Cloud 4.52.02 będzie wyglądać tak:

  1. wycofanie serwera Postgres, Qpid i innych komponentów związanych z analizą;
  2. Przywracanie routerów i procesorów wiadomości
  3. Cofnięcie zmian w Cassandra i Zookeeper
  4. Serwer zarządzania rollbackiem

Załóżmy na przykład, że uaktualniliśmy cały klaster Cassandra, wszystkie serwery zarządzające i kilka RMP do wersji 4.52.02 z wersji 4.52.01 i chcemy cofnąć zmiany. W takim przypadku:

  1. Przywracanie wszystkich RMP pojedynczo
  2. Przywróć cały klaster Cassandra za pomocą kopii zapasowych.
  3. Cofnięty rollback węzłów serwera Edge Management

Kto może cofnąć zmiany

Użytkownik wykonujący wycofanie powinien być tym samym użytkownikiem, który pierwotnie zaktualizował Edge, lub użytkownikiem działającym jako root.

Domyślnie komponenty Edge działają jako użytkownik „apigee”. W niektórych przypadkach komponenty Edge mogą być uruchamiane jako różne użytkownicy. Jeśli na przykład Router musi uzyskać dostęp do portów uprzywilejowanych, takich jak te poniżej 1000, musisz uruchomić Router jako root lub jako użytkownik z dostępem do tych portów. Możesz też uruchomić jeden komponent jako jeden użytkownik, a inny jako inny użytkownik.

Komponenty z kodem wspólnym

Te komponenty Edge korzystają z wspólnego kodu. Dlatego aby cofnąć zmiany w dowolnym z tych komponentów na węźle, musisz cofnąć zmiany we wszystkich komponentach na tym węźle.

  • edge-management-server (serwer zarządzania)
  • edge-message-processor (procesor komunikatów)
  • edge-router (Router)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (Qpid Server)

Jeśli na przykład masz na węźle zainstalowane serwer zarządzania, router i przetwarzacz wiadomości, aby cofnąć zmiany w jednym z nich, musisz cofnąć zmiany we wszystkich trzech.

Wycofanie Cassandra

Gdy w przypadku danego węzła Cassandra zostanie przeprowadzona duża aktualizacja Cassandra, Cassandra zmodyfikuje schemat danych przechowywanych na węźle, co uniemożliwi bezpośrednie przywrócenie. Można to zrobić na 2 sposoby. Użyjesz jednej z tych metod w zależności od stanu uaktualnienia, które chcesz cofnąć.

Metody wycofywania zmian

Wymaż i użyj istniejących węzłów w klastrze, aby odtworzyć węzeł

Tę procedurę możesz wykonać, jeśli w klastrze masz co najmniej 1 w pełni sprawne centrum danych, które nadal korzysta ze starszej wersji Cassandra (Cassandra 2.1.22). Jeśli uaktualniono cały klaster Cassandra i chcesz przywrócić poprzednią wersję, wykonaj czynności opisane w sekcji Wymazywanie i przywracanie kopii zapasowej lub migawki maszyny wirtualnej.

Wskazówki dotyczące cofania zmian

  1. Zacznij od węzła, który chcesz cofnąć:
    • Zatrzymaj system Cassandra na węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Odinstaluj oprogramowanie Cassandra z węzła:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Usuwanie katalogu danych z węzła:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Pobierz i uruchom bootstrap starszej wersji Edge for Private Cloud, do której chcesz przywrócić poprzednią wersję.

    Przykład: aby cofnąć się do wersji 4.52.01,

    • Pobierz bootstrap 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Uruchom bootstrap 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Skonfiguruj system Cassandra na węźle:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Wykonaj ponowne tworzenie węzła, podając nazwę funkcjonalnego centrum danych:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Powtórz powyższe czynności w przypadku każdego węzła, którego chcesz cofnąć, pojedynczo.
  2. Gdy wszystkie węzły zostaną wycofane i ponowicie utworzone:
    • Uruchom konfigurację dowolnego węzła serwera zarządzania. Upewnij się, że serwer zarządzania pochodzi z cofniętej wersji. Jeśli nie, cofnij zmiany na serwerze zarządzania.
    • Zatrzymaj serwer zarządzania:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Jeśli korzystasz z zarabiania, odinstaluj też zarabianie:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Odinstaluj serwer zarządzania:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Pobierz i uruchom bootstrap starszej wersji. Aby na przykład pobrać i uruchomić bootstrap w wersji 4.52.01, wykonaj te czynności:
      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
    • Uruchom konfigurację jednego węzła serwera zarządzania:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Optymalizacja po odtworzeniu

W wymienionych wyżej krokach podczas odtwarzania wszystkie dane w węźle są przesyłane strumieniowo z zdalnego centrum danych. Możesz zoptymalizować ten proces, wykonując naprawę po przesłaniu wszystkich replik do lokalnego centrum danych. Zapobiega to przesyłaniu strumieniowemu między centrami danych i powinno być szybsze niż odtwarzanie wszystkich węzłów z dalekiego centrum danych.

Przykład: zakładamy, że masz 6 węzłów Cassandra w lokalnym centrum danych. Domyślnie współczynnik replikacji Apigee wynosi 3, więc każdy węzeł ma 50% danych. W takim przypadku możesz odtworzyć węzły 1 i 4, wykonując opisaną powyżej procedurę. W przypadku węzłów 2, 3, 5 i 6 wykonaj podane niżej czynności, aby przywrócić kopię zapasową i przeprowadzić naprawę.

  1. Aby odtworzyć kopie zapasowe w lokalnym centrum danych, postępuj zgodnie z procedurą do kroku 6.
  2. W przypadku pozostałych węzłów wykonaj po kolei czynności opisane poniżej.
    • Przywróć kopię zapasową utworzoną na tym węźle (uwaga: ta kopia zapasowa prawdopodobnie będzie zawierać nieaktualne dane, ponieważ została utworzona przed rozpoczęciem uaktualniania Cassandra):
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Jeśli masz zrzut węzła maszyny wirtualnej, możesz przywrócić zrzut zamiast kopii zapasowej Cassandra.
    • Po przywróceniu kopii zapasowej uruchom usługę Cassandra na węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Wykonaj naprawę węzła, aby najnowsze dane mogły być przesyłane strumieniowo z istniejącego centrum danych:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Powtórz kroki od 3 do 6 w przypadku każdego węzła, który chcesz naprawić.

Wymazywanie i przywracanie kopii zapasowej lub zrzutu dysku maszyny wirtualnej

Ta procedura jest jedyną dostępną, jeśli uaktualniono cały klaster Cassandra i chcesz cofnąć zmiany.

Ponadto kopie zapasowe Apigee są tworzone dla poszczególnych węzłów. Nie można przywrócić kopii zapasowej z jednego węzła do drugiego. Kopie zapasowe Cassandra zawierają informacje o metadanych węzła (np. adres IP, pozycja pierścienia itp.).

  1. Zacznij od 1 węzła Cassandra w klastrze:
    • Zatrzymaj usługę Cassandra na węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Odinstaluj oprogramowanie Cassandra z węzła:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Usuwanie katalogu danych z węzła:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Pobierz i uruchom bootstrap starszej wersji Edge for Private Cloud, do której chcesz się cofnąć.

    Przykład: jak przywrócić wersję 4.52.01

    • Pobierz bootstrap 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Uruchom bootstrap 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Skonfiguruj system Cassandra na węźle:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Przywróć kopię zapasową na węźle, wykonując czynności opisane w artykule Przywracanie z kopii zapasowej.
    • Zatrzymaj system Cassandra na węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Usuwanie katalogu danych:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Przywracanie kopii zapasowej:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Uruchom usługę Cassandra na węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Powtórz te czynności na każdym węźle Cassandra po kolei.
    • Przeprowadź naprawę na węzłach pojedynczo:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Cofanie aktualizacji Zookeeper 3.8.3

Jeśli wracasz do wersji 4.52.00 lub 4.51.00, przed przywróceniem Zookeepera musisz wykonać kilka specjalnych czynności. Te czynności są opisane w sekcji Cofanie.

Jeśli chcesz przywrócić wersję 4.52.01, przywróć Zookeepera tak, jak przywraca się dowolne oprogramowanie. Informacje na ten temat znajdziesz w sekcji Przywróć poprzednią wersję główną lub podrzędną.

Przywracanie Qpid

Jeśli przywracasz wersję 4.52.00 lub 4.51.00, przed przywróceniem Qpid musisz wykonać kilka specjalnych czynności. Te czynności są opisane w sekcji Cofanie.

Jeśli przywracasz wersję 4.52.01, cofnij Qpid tak, jak cofasz inne oprogramowanie zgodnie z instrukcjami w sekcji Cofanie do poprzedniej wersji głównej lub podrzędnej.

Cofanie aktualizacji Postgres 10.17

Jeśli wracasz do wersji 4.51.00, przed przywróceniem Postgresa musisz wykonać kilka specjalnych czynności. Te czynności są opisane w sekcji Cofanie.

Jeśli wracasz do wersji 4.52.01 lub 4.52.00, cofnij Postgres tak, jak cofasz dowolne oprogramowanie, zgodnie z sekcją Cofanie do poprzedniej głównej lub mniejszej wersji poniżej.

przywrócić poprzednią wersję główną lub podrzędną,

Aby przywrócić poprzednią główną lub pomocniczą wersję, wykonaj te czynności w każdym węźle, który hostuje komponent:

  1. Pobierz plik bootstrap.sh dla wersji, do której chcesz przywrócić:

    • Aby przywrócić wersję 4.51.00, pobierz bootstrap_4.51.00.sh:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Zatrzymaj komponent, aby cofnąć zmiany:
    1. Aby cofnąć dowolny z komponentów z kodem wspólnym w węźle, musisz je wszystkie zatrzymać, jak pokazano w tym przykładzie:
      /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. Aby cofnąć dowolny inny komponent w węźle, zatrzymaj tylko ten komponent:
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Jeśli wycofujesz Monetyzację, odinstaluj ją ze wszystkich węzłów serwera zarządzania i procesora wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Odinstaluj komponent, aby cofnąć zmiany na węźle:
    1. Aby wycofać dowolny z komponentów z kodem wspólnym w węźle, musisz odinstalować wszystkie komponenty, odinstalowując grupę komponentów edge-gateway, jak pokazano w tym przykładzie:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Aby cofnąć inny komponent na węźle, odinstaluj tylko ten komponent, jak pokazano w tym przykładzie:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Gdzie component to nazwa komponentu.

    3. Aby przywrócić Edge Router, musisz usunąć zawartość pliku /opt/nginx/conf.d, a także odinstalować grupę komponentów edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Odinstaluj wersję apigee-setup 4.52.02:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj wersję 4.51.00 narzędzia apigee-service i jego zależności. W tym przykładzie instalowana jest wersja 4.51.00 aplikacji apigee-service:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    Gdzie uNamepWord to nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz pWord, pojawi się prośba o jego podanie.

    Jeśli pojawi się błąd, sprawdź, czy plik bootstrap.sh został pobrany w kroku 1.

  7. Zainstaluj apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Zainstaluj starszą wersję komponentu:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Gdzie component to komponent do zainstalowania, a configFile to plik konfiguracji starszej wersji.

  9. Jeśli cofasz Qpid, opróżnij iptables:
    sudo iptables -F
  10. Powtórz tę procedurę dla każdego węzła, który hostuje komponent, który chcesz cofnąć.

Przywróć poprzednią wersję poprawki

Aby przywrócić komponent do konkretnej wersji poprawki, wykonaj te czynności na każdym węźle, na którym jest on hostowany:

  1. Pobierz konkretną wersję komponentu:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    Gdzie component_version to wersja komponentu i łatki do zainstalowania. Przykład:

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

    Jeśli korzystasz z repozytorium internetowego Apigee, możesz określić dostępne wersje komponentów za pomocą tego polecenia:

    yum --showduplicates list comp

    Na przykład:

    yum --showduplicates list edge-ui
  2. Aby zainstalować komponent, użyj apigee-setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    Na przykład:

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

    Pamiętaj, że podczas instalacji podajesz tylko nazwę komponentu, a nie jego wersję.

  3. Powtórz tę procedurę dla każdego węzła, który hostuje komponent, który chcesz cofnąć.

Przywracanie mTLS

Aby cofnąć aktualizację mTLS, wykonaj te czynności na wszystkich hostach:

  1. Zatrzymanie Apigee:
    apigee-all stop
  2. Zatrzymanie mTLS:
    apigee-service apigee-mtls uninstall
  3. Ponowna instalacja mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf