Wycofywanie Apigee Edge 4.52.02

Jeśli podczas aktualizowania do Edge 4.52.02 wystąpi błąd, możesz przywrócić komponent, który spowodował błąd, i spróbować jeszcze raz przeprowadzić aktualizację.

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

  • Wersja 4.52.01
  • Wersja 4.52.00
  • Wersja 4.51.00

Wycofanie wersji obejmuje wycofanie wszystkich komponentów, które mogły zostać uaktualnione. Poza tym, w zależności od tego, od której wersji pochodzisz, przed przywróceniem niektórych komponentów oprogramowania musisz wziąć pod uwagę specjalne kwestie. W tabeli poniżej znajdziesz listę różnych programów, w przypadku których mogą być wymagane specjalne czynności podczas przywracania wcześniejszej wersji:

Przywróć wersję Szczególne uwagi w przypadku oprogramowania
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Istnieją 2 sytuacje, w których możesz chcieć przywrócić poprzednią wersję aplikacji:

  1. Przywracanie poprzedniej wersji głównej lub podrzędnej Na przykład od 4.52.02 do 4.52.00.
  2. Przywracanie poprzedniej wersji poprawki w tej samej wersji Na przykład od 4.52.00.02 do 4.52.00.01.

Więcej informacji znajdziesz w artykule o procesie publikowania wersji Apigee.

Kolejność przywracania

Przywracanie komponentów należy wykonywać w odwrotnej kolejności, w której zostały uaktualnione, z wyjątkiem sytuacji, gdy serwery zarządzania są wycofywane po systemie Cassandra.

Ogólna kolejność przywracania Private Cloud w wersji 4.52.02 będzie wyglądać tak:

  1. Wycofaj zmiany w postgres, Qpid i inne komponenty związane z analityką
  2. Przywróć routery i procesory wiadomości
  3. Przywrócona Cassandra, Zookeeper
  4. Serwer zarządzania wycofaniem zmian

Załóżmy na przykład, że uaktualnisz cały klaster Cassandra, wszystkie serwery zarządzania i kilka platform RMP do wersji 4.52.02 z wersji 4.52.01 i chcesz je przywrócić. W takim przypadku:

  1. Wycofaj wszystkie RMP pojedynczo
  2. Przywróć cały klaster Cassandra za pomocą kopii zapasowych
  3. Wycofaj po kolei węzły serwera zarządzania brzegiem

Kto może przywrócić poprzednią wersję aplikacji

Użytkownik wykonujący przywrócenie poprzedniej wersji powinien być tym samym użytkownikiem, który pierwotnie zaktualizował Edge lub z uprawnieniami użytkownika root.

Domyślnie komponenty Edge działają jako „apigee” użytkownika. W niektórych przypadkach komponenty Edge możesz uruchamiać jako różni użytkownicy. Jeśli na przykład router musi mieć dostęp do portów z podwyższonymi uprawnieniami, takich jak porty poniżej 1000, musisz go uruchomić jako użytkownik root lub użytkownik z dostępem do tych portów. Możesz też uruchomić jeden komponent jako jeden użytkownik, a drugi jako inny użytkownik.

Komponenty ze wspólnym kodem

Poniższe komponenty Edge mają wspólny kod. Dlatego, aby wycofać dowolny z tych komponentów w węźle, musisz wycofać wszystkie te komponenty, które znajdują się w tym węźle.

  • edge-management-server (serwer zarządzania)
  • edge-message-processor (system przetwarzania wiadomości)
  • edge-router (router)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (serwer Qpid)

Jeśli na przykład w węźle masz zainstalowane: serwer zarządzania, router i procesor wiadomości, aby przywrócić którykolwiek z nich, musisz przywrócić wszystkie trzy z nich.

Przywracanie systemu Cassandra

Po uaktualnieniu systemu Cassandra w konkretnym węźle Cassandra modyfikuje on schemat danych przechowywanych w tym węźle, przez co bezpośrednie wycofanie jest niemożliwe. Istnieją 2 metody przywracania. Użyjesz jednej z tych metodologii w zależności od stanu uaktualnienia, z którego wycofujesz zmiany.

Metodologie przywracania

Wyczyść i użyj istniejących węzłów w klastrze, aby odbudować węzeł

Tę procedurę można wykonać, jeśli masz w klastrze co najmniej 1 w pełni funkcjonalne centrum danych ze starszą wersją systemu Cassandra (Cassandra 2.1.22). Jeśli cały klaster Cassandra został uaktualniony i chcesz przywrócić poprzednią wersję, musisz wykonać czynności opisane w artykule Czyszczenie i przywracanie kopii zapasowej lub zrzut maszyny wirtualnej.

Kroki przywracania

  1. Zacznij od węzła, który chcesz przywrócić:
    • Zatrzymaj Cassandra w 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
    • Usuń katalog danych z węzła:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Pobierz i uruchom wczytywanie starszej wersji Edge dla Private Cloud, do której chcesz przywrócić poprzednią wersję.

    Przykład: aby przywrócić wersję 4.52.01,

    • Pobierz pobieranie w wersji 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Wykonaj wczytywanie w wersji 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Skonfiguruj Cassandra w węźle:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Przeprowadź odbudowę w węźle, podając nazwę działającego centrum danych:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Powtórz powyższe kroki w każdym węźle, który chcesz przywrócić, pojedynczo.
  2. Po wycofaniu i zrekompilowaniu wszystkich węzłów:
    • Uruchom konfigurację dowolnego węzła serwera zarządzania. Sprawdź, czy serwer zarządzania pochodzi ze starszej wersji. Jeśli nie, przywróć poprzednią wersję serwera zarządzania.
    • Zatrzymaj serwer zarządzania:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Jeśli korzystasz z funkcji zarabiania, odinstaluj też możliwość zarabiania:
      /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 wczytywanie starszej wersji. Na przykład wykonaj te kroki, aby pobrać i wykonać wczytywanie w wersji 4.52.01:
      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ę 1 węzła serwera zarządzania:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Optymalizacja po odtworzeniu

W powyższych krokach wszystkie dane w węźle są przesyłane strumieniowo ze zdalnego centrum danych podczas odbudowy. Możesz zoptymalizować ten proces przez naprawę po przesłaniu wszystkich replik do lokalnego centrum danych. Pozwala to uniknąć strumieniowania między kontrolerami DC i powinno być szybsze niż odbudowywanie wszystkich węzłów ze zdalnego kontrolera DC.

Przykład: załóżmy, że w lokalnym centrum danych jest 6 węzłów Cassandra. Domyślnie współczynnik replikacji Apigee wynosi 3, więc każdy węzeł posiada 50% danych. W takim przypadku możesz ponownie utworzyć węzły 1 i 4, wykonując powyższą procedurę. W przypadku węzłów 2, 3, 5 i 6 wykonaj poniższe czynności, aby przywrócić kopię zapasową i uruchomić naprawę.

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

Wymazywanie i przywracanie kopii zapasowej/zrzutu maszyny wirtualnej

Ta procedura jest jedyna dostępna, jeśli cały klaster Cassandra został uaktualniony i chcesz przywrócić poprzednią wersję.

Dodatkowo kopie zapasowe Apigee zależą od węzła. Nie można przywrócić kopii zapasowej utworzonej z jednego węzła do innego. Kopie zapasowe Cassandra zawierają informacje o metadanych węzła (takie jak adres IP, pozycja dzwonienia itp.).

  1. Zacznij od 1 węzła Cassandra w klastrze:
    • Zatrzymaj usługę Cassandra w 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
    • Usuń katalog danych z węzła:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Pobierz i uruchom ładowanie starszej wersji Edge dla Private Cloud, do której chcesz przywrócić poprzednią wersję.

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

    • Pobierz pobieranie w wersji 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Wykonaj wczytywanie w wersji 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Skonfiguruj Cassandra w węźle:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Przywróć kopię zapasową w węźle, wykonując procedurę opisaną w sekcji Przywracanie z kopii zapasowej.
    • Zatrzymaj Cassandra w węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Usuń katalog danych:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Przywróć kopię zapasową:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Uruchom usługę Cassandra w węźle:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Powtórz kroki w każdym węźle Cassandra po jednym naraz.
    • Wykonuj naprawę w węzłach pojedynczo:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Cofnij aktualizację Zookeeper 3.8.3

Jeśli wracasz do wersji 4.52.00 lub 4.51.00, zanim to zrobisz, musisz wykonać kilka dodatkowych czynności. Te kroki są wymienione w sekcji Przywracanie.

Jeśli wracasz do wersji 4.52.01, przywróć Zookeeper w taki sposób, w jaki przywracasz oprogramowanie, zgodnie z opisem w sekcji Przywracanie poprzedniej wersji głównej lub podrzędnej poniżej.

Wycofanie zapytania

Jeśli przywracasz wersję 4.52.00 lub 4.51.00, zanim wycofasz Qpid, musisz wykonać pewne czynności specjalne. Te kroki są wymienione w sekcji Przywracanie.

Jeśli wracasz do wersji 4.52.01, wycofuj Qpid tak samo jak w przypadku przywracania dowolnego oprogramowania wymienionego w sekcji Przywracanie poprzedniej wersji głównej lub podrzędnej

Cofanie aktualizacji Postgres 10.17

Jeśli przywracasz wersję 4.51.00, przed przywróceniem Postgres musisz wykonać kilka dodatkowych czynności. Te kroki są wymienione w sekcji Przywracanie.

Jeśli wracasz do wersji 4.52.01 lub 4.52.00, wycofuj Postgres w taki sam sposób, jak w przypadku wycofywania oprogramowania, co zostało opisane w sekcji Przywracanie poprzedniej wersji głównej lub podrzędnej poniżej.

Przywracanie poprzedniej wersji głównej lub podrzędnej

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

  1. Pobierz plik bootstrap.sh z wersją, do której chcesz przywrócić poprzednią wersję:

    • 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 do wycofania:
    1. Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, jak pokazano w poniższym 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 przywrócić poprzednią wersję dowolnego komponentu innego w węźle, zatrzymaj tylko ten komponent:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Jeśli chcesz przywrócić możliwość zarabiania, 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 przywrócić poprzednią wersję w węźle:
    1. Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz je wszystkie odinstalować, 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 przywrócić dowolny inny komponent w węźle, odinstaluj tylko ten komponent, jak w przykładzie poniżej:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Gdzie component to nazwa komponentu.

    3. Aby przywrócić router brzegowy, musisz nie tylko odinstalować grupę komponentów edge-gateway, ale także usunąć zawartość pliku /opt/nginx/conf.d:
      cd /opt/nginx/conf.d
       rm -rf *
  5. Odinstaluj wersję 4.52.02 aplikacji apigee-setup:
    /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. Ten przykład pozwala zainstalować apigee-service w wersji 4.51.00:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    Gdzie uName i pWord 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 w kroku 1 został pobrany plik bootstrap.sh.

  7. Zainstaluj aplikację 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 jest komponentem do zainstalowania, a configFile to plik konfiguracji starszej wersji.

  9. Jeśli wycofujesz zmiany Qpid, usuń pliki iptables:
    sudo iptables -F
  10. Powtórz ten proces dla każdego węzła hostującego wycofywany komponent.

Przywracanie poprzedniej wersji poprawki

Aby przywrócić komponent do określonej wersji poprawki, w każdym węźle, który go hostuje, wykonaj te czynności:

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

    Gdzie component_version to wersja komponentu i poprawka do zainstalowania. Na przykład:

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

    Jeśli korzystasz z repozytorium online Apigee, możesz określić dostępne wersje komponentu, korzystając z tego polecenia:

    yum --showduplicates list comp

    Na przykład:

    yum --showduplicates list edge-ui
  2. Użyj apigee-setup, aby zainstalować komponent:
    /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 wersję.

  3. Powtórz ten proces dla każdego węzła hostującego wycofywany komponent.

Wycofaj mTLS

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

  1. Zatrzymaj Apigee:
    apigee-all stop
  2. Zatrzymaj mTLS:
    apigee-service apigee-mtls uninstall
  3. Ponownie zainstaluj mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf