Cofnij zmiany w Apigee Edge 4.51.00

Jeśli podczas aktualizacji do Edge 4.51.00 napotkasz błąd, możesz przywrócić komponent, który spowodował błąd, i spróbować ponownie przeprowadzić aktualizację.

W Edge 4.51.00 możesz przywrócić te wersje funkcji:

  • Wersja 4.50.00
  • Wersja 4.19.06

Są 2 sytuacje, w których warto przeprowadzić przywrócenie:

  1. Przywracanie poprzedniej wersji funkcji Na przykład od 4.51.00 do 4.50.00.
  2. Przywracanie poprzedniej wersji aktualizacji w tej samej wersji. Na przykład od 4.50.00.02 do 4.50.00.01.

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

Kto może przywracać zmiany

Użytkownik wykonujący przywracanie musi być taki sam jak użytkownik, który pierwotnie zaktualizował Edge, lub użytkownik root.

Domyślnie komponenty Edge są uruchamiane jako użytkownik „apigee”. W niektórych przypadkach komponenty Edge mogą być używane jako różni użytkownicy. Jeśli na przykład router musi mieć dostęp do portów z podwyższonymi uprawnieniami, takich jak te poniżej 1000, musisz uruchomić router jako użytkownik root lub jako 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 przywrócić wszystkie te komponenty, które znajdują się w tym węźle.

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

Jeśli na przykład w węźle zainstalowano serwer zarządzania, router i procesor wiadomości, to aby przywrócić dowolny z nich, musisz przywrócić wszystkie 3 z nich.

Przywracanie poprzedniej wersji funkcji

Aby przywrócić poprzednią wersję funkcji, wykonaj te czynności w każdym węźle hostującym komponent:

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

    • Aby przywrócić wersję 4.50.00, pobierz bootstrap_4.50.00.sh:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • Aby przywrócić wersję 4.19.06, pobierz bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Zatrzymaj komponent, aby przywrócić poprzednią wersję:
    1. Aby wycofać dowolny komponent ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, 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 wycofać dowolny inny komponent w węźle, zatrzymaj tylko ten komponent:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Jeśli przywracasz poprzednią wersję funkcji Generowanie przychodu, 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 wycofać zmiany 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 wycofać dowolny inny komponent w węźle, odinstaluj tylko ten komponent zgodnie z tym przykładem:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Gdzie component to nazwa komponentu.

    3. Aby wycofać zmiany w routerze brzegowym, oprócz odinstalowania grupy komponentów edge-gateway musisz usunąć zawartość pliku /opt/nginx/conf.d:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Odinstaluj wersję 4.51.00 apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj wersję 4.19.06 lub 4.50.00 narzędzia apigee-service i jego zależności. Ten przykład pokazuje zainstalowanie wersji 4.50.00 klucza apigee-service:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    Gdzie uName i pWord to nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz właściwość pWord, poprosimy Cię o jej podanie.

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

  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 dla starszej wersji.

  9. Jeśli przywracasz Qpid, wyczyść iptables:
    sudo iptables -F
  10. Powtórz ten proces dla każdego węzła hostującego przywracany komponent.

Przywracanie poprzedniej wersji aktualizacji

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

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

    Gdzie component_version to komponent i wersja aktualizacji do zainstalowania. Na przykład:

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

    Jeśli używasz repozytorium online Apigee, możesz sprawdzić 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 narzędzia 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 wersję.

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

Cofanie aktualizacji Postgres 10.17

W przypadku uaktualnienia do wersji 4.51.00 z wersji 4.19.06 lub 4.50.00 musisz wycofać aktualizację Postgres nie tylko z komponentami Edge.

Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji gotowości głównej:

  • Awansuj nowy węzeł gotowości na status mastera Postgres. Nowy master Postgres będzie w tej samej wersji co poprzednia instalacja Edge.
  • Skonfiguruj stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego. Stary węzeł gotowości będzie w tej samej wersji co poprzednia instalacja Edge.
  • Zarejestruj nowe węzły główne i zapasowe w grupach analitycznych i konsumentów.

Po zakończeniu przywracania stary węzeł nadrzędny nie będzie już potrzebny. Możesz wtedy wyłączyć stary węzeł nadrzędny.

  1. Sprawdź, czy nowy węzeł gotowości Postgres jest uruchomiony:
    /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli Postgres nie jest uruchomiony, uruchom go:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Upewnij się, że w starym węźle głównym i starym węźle gotowości jego usługa Postgres jest zatrzymana:
    /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli Postgres jest uruchomiony, zatrzymaj go:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. Jeśli moduł Qpid został zainstalowany, uruchom go w starym węźle gotowości:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Awansuj nowy węzeł gotowości jako węzeł główny Postgres:
    1. Wyznacz nowy węzeł gotowości na nowy węzeł nadrzędny:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Jeśli pojawi się prośba, wpisz hasło użytkownika „apigee” do Postgres. Wartością domyślną jest „postgres”.

    2. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Skonfiguruj nowy wzorzec:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Jeśli stary węzeł gotowości został już uaktualniony do nowszej wersji, musisz najpierw przejść na niższą wersję oprogramowania Apigee w starym węźle gotowości. Jeśli nadal masz starszą wersję w starym węźle gotowości, możesz pominąć ten krok i przejść do kroku 6.
    1. Zatrzymaj Postgres w starym węźle gotowości:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Odinstaluj Postgres ze starego węzła gotowości:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Usuń katalog danych Postgres ze starego węzła gotowości:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Pobierz i uruchom starszą wersję wczytywania (dla wersji Apigee, do której przywrócisz) w starym węźle gotowości. Dokładne instrukcje mogą się różnić w zależności od tego, czy używasz instalacji internetowej, czy offline. Uruchomienie starszej wersji procesu wczytywania Apigee spowoduje skonfigurowanie repozytoriów yum ze starszą wersją danych Apigee.
    5. Skonfiguruj komponenty Postgres w starym węźle gotowości:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Sprawdź i sprawdź, czy komponenty Postgres w starym węźle gotowości zostały przywrócone do starszej wersji:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Ponownie utwórz stary węzeł gotowości:
    1. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Usuń katalog danych w starym węźle gotowości:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Skonfiguruj ponownie stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Upewnij się, że Postgres działa w starym węźle gotowości:
      /opt/apigee/apigee-service/bin/apigee-all status

      Jeśli Postgres nie jest uruchomiony, uruchom go:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Sprawdź, czy został dodany nowy węzeł gotowości, wyświetlając plik /opt/apigee/apigee-postgresql/conf/pg_hba.conf w nowym masterze.
  8. Wyświetl bieżące statystyki i informacje o grupie klientów, uruchamiając na serwerze zarządzania to polecenie:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    To polecenie zwraca nazwę grupy Analytics w polu name oraz nazwę grupy konsumentów w polu name w sekcji consumer-groups. Zwraca też identyfikatory UUID starego węzła głównego Postgres i węzłów gotowości w polach postgres-server i datastores. Dane wyjściowe powinny mieć postać:

    {
      "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" : {
      }
    }

  9. Uzyskaj adres UUID starego węzła głównego, uruchamiając na nim to polecenie curl:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Identyfikator UUID węzła powinien pojawić się na końcu danych wyjściowych w formacie:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. Powtórz poprzedni krok, aby uzyskać adresy IP starego węzła gotowości i nowego węzła głównego.
  11. Usuń z grupy klientów stare węzły główne i gotowości:
    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

    Gdzie axgroup-001 i consumer-group-001 to domyślne nazwy grup użytkowników i analityki. Kolejność masterUUID,standbyUUID jest taka sama jak powyżej podczas wyświetlania bieżących statystyk i informacji o grupie klientów. Być może trzeba będzie określić je jako standbyUUID,masterUUID.

    Właściwość datastores elementu consumer-groups powinna być teraz pusta.

  12. Usuń z grupy analityki Analytics stary węzeł główny i węzeł gotowości:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    Właściwość postgres-server w polu uuids powinna być teraz pusta.

  13. Zarejestruj nowe węzły główne i zapasowe PG w grupach analitycznych i konsumentów:
    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
  14. Zweryfikuj grupę analityczną:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Powinny się wyświetlić identyfikatory UUID nowych węzłów głównych i gotowości na liście w grupie analityki i grupie konsumentów.

  15. Ponownie uruchom serwer zarządzania brzegowymi:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Uruchom ponownie wszystkie serwery Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Uruchom ponownie wszystkie serwery Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. Sprawdź stan replikacji, uruchamiając te skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby zapewnić prawidłową replikację:

    Na nowym wzorcu uruchom polecenie:

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

    Sprawdź, czy jest to master. W starym węźle gotowości:

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

    Sprawdź, czy tryb gotowości jest w trybie gotowości.

  19. Po wykonaniu kilku żądań do interfejsu API powtórz poprzedni krok, aby upewnić się, że węzły są zsynchronizowane.
  20. Usuń starego mastera Postgres, wykonując procedurę aktualizacji Apigee Edge z wersji 4.16.01/4.16.05 do 4.17.09.

    Możesz też odinstalować Qpid ze starego głównego węzła i zainstalować Qpid w nowym węźle głównym. Po odinstalowaniu Qpid możesz wyłączyć stary węzeł główny.

Wycofanie mTLS

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

  1. Zatrzymać 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