Wycofaj zmiany w Apigee Edge 4.52.01

Jeśli podczas aktualizacji Edge do wersji 4.52.01 wystąpi błąd, możesz przywrócić komponent, który spowodował błąd, a następnie ponowić próbę aktualizacji.

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

  • Wersja 4.52.00
  • Wersja 4.51.00

Istnieją 2 sytuacje, w których warto przeprowadzić przywrócenie poprzedniej wersji:

  1. Przywracanie poprzedniej wersji głównej lub podrzędnej. Na przykład od 4.52.01 do 4.52.00.
  2. Przywróć poprzednią wersję 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 Apigee Edge.

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

Użytkownik wykonujący przywrócenie 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ż uruchamiać 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 przywrócić wcześniejszą wersję któregoś z tych komponentów w węźle, musisz wycofać zmiany wszystkich znajdujących się w nim komponentów.

  • 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, aby wycofać dowolny z nich, musisz wycofać wszystkie 3 elementy.

Przywracanie poprzedniej wersji głównej lub podrzędnej

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

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

    • 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 wycofać zmiany:
    1. Aby wycofać dowolny z komponentów 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 przywrócić działanie 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 przywrócić poprzednią wersję routera brzegowego, musisz nie tylko odinstalować grupę komponentów edge-gateway, ale też usunąć zawartość pliku /opt/nginx/conf.d:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Odinstaluj wersję apigee-setup 4.52.01:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj narzędzie apigee-service w wersji 4.51.00 i jego zależności. Ten przykład pokazuje zainstalowanie wersji 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 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 przywracasz wersję Qpid, wyczyść 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 hostującym komponent 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 poprawki do zainstalowania. Na przykład:

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

    Jeśli używasz repozytorium online Apigee, możesz określić dostępne wersje komponentów, używając tego polecenia:

    yum --showduplicates list comp

    Na przykład:

    yum --showduplicates list edge-ui
  2. Użyj pakietu 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 podaje się tylko nazwę komponentu, a nie jego wersję.

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

Wycofanie aktualizacji Postgres 10.17

Jeśli uaktualniono wersję 4.52.01 z wersji 4.50.00 lub 4.51.00, nie tylko komponenty Edge trzeba wycofać, ale też aktualizację Postgres.

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

  • Awansuj nowy węzeł gotowości na rolę 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 grupach klientów.

Po zakończeniu przywracania stary węzeł nadrzędny nie będzie już potrzebny. Następnie możesz 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 ustaw Postgres:
    /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 zainstalowano, uruchom Qpid w starym węźle gotowości:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Ustaw nowy węzeł gotowości jako mastera Postgres:
    1. Ustaw 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 do Postgres dla użytkownika „apigee”. Ustawienie domyślne to „postgres”.

    2. Edytuj plik konfiguracji użyty do zainstalowania bieżącej wersji Edge, aby określić:
      # 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, musisz najpierw przejść na nowszą 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ę (dla przywracanej wersji Apigee) w starym węźle gotowości. Dokładne instrukcje mogą się różnić w zależności od tego, czy używasz instalacji online, czy offline. Uruchomienie starszej wersji 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 konfiguracji użyty do zainstalowania bieżącej wersji Edge, aby określić:
      # 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, aby był węzłem 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 nowy węzeł gotowości został dodany, wyświetlając plik /opt/apigee/apigee-postgresql/conf/pg_hba.conf w nowym masterze.
  8. Aby wyświetlić bieżące statystyki i informacje o grupach klientów, uruchom 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, a nazwę grupy klienta w polu name w polu 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 to polecenie curl w starym węźle głównym:
    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 konsumenta stare węzły główne i zapasowe:
    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 statystyk i grup klientów. masterUUID,standbyUUID są w tej samej kolejności, w jakiej były wyświetlane 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 stare węzły główne i zapasowe:
    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 węzły gotowości w ramach automatyzacji gwarantowanej w grupach analitycznych i konsumenckich:
    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ę w statystykach:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    W grupie analityki i grupie konsumentów powinny wyświetlić się identyfikatory UUID nowych węzłów głównych i gotowości.

  15. Ponownie uruchom serwer zarządzania brzegiem:
    /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 poniższe skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby zapewnić pomyślną replikację:

    Na nowym elemencie głównym uruchom polecenie:

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

    Sprawdź, czy jest to główny element. W starym węźle gotowości:

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

    Sprawdź, czy jest to tryb gotowości.

  19. Po utworzeniu kilku żądań do interfejsu API powtórz poprzedni krok, aby mieć pewność, że węzły są zsynchronizowane.
  20. Wyłącz starą instancję główną Postgres zgodnie z procedurą opisaną w artykule o wycofywaniu węzła Postgres.

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

Wycofaj zmiany mTLS

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

  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