Cofnij zmiany w Apigee Edge 4.19.01

Edge for Private Cloud w wersji 4.19.01

Jeśli podczas aktualizowania do wersji Edge 4.19.01 wystąpi błąd, możesz przywrócić który spowodował błąd, a następnie spróbuj ponownie przeprowadzić aktualizację.

Edge 4.19.01 możesz przywrócić do tych wersji funkcji:

  • Wersja 4.18.05
  • Wersja 4.18.01
  • Wersja 4.17.09*

* Aby przywrócić wersję 4.19.01–4.17.09, musisz wycofanie Postgres, a także wycofanie komponentów każdego węzła. Jeśli przywrócisz wersję 4.18.01 lub 4.18.05, nie musisz wycofywać Postgres jako uaktualnienia nie zawierała aktualizacji Postgres.

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

  1. Przywracanie poprzedniej wersji funkcji. Na przykład z od 4.19.01 do 4.18.05.
  2. Przywracanie poprzedniej wersji aktualizacji w tej samej wersji. Dla: np. od 4.19.01.02 do 4.19.01.01.

Więcej informacji znajdziesz w artykule o wersji Apigee Edge .

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 wykorzystaniem roota.

Domyślnie komponenty Edge działają jako „apigee” użytkownika. W niektórych przypadkach możesz używać Edge jako różnych użytkowników. Jeśli na przykład router musi mieć dostęp do portów z podwyższonymi uprawnieniami, takich jak poniżej 1000, musisz uruchomić router jako użytkownik root lub użytkownik z dostępem do tych porty. 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ć dowolną 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 na serwerze zarządzania, routerze i procesorze wiadomości i wycofać dowolną z nich.

Przywracanie poprzedniej wersji funkcji

Aby przywrócić wersję 4.19.01–17.09, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01 lub 4.18.05, nie musisz wycofywać Postgres jako uaktualnienia nie zawierała aktualizacji Postgres.

Aby przywrócić poprzednią wersję funkcji, wykonaj te czynności na każdym węźle, który hostuje składnik:

  1. Pobierz plik bootstrap.sh dla wersji, którą chcesz zastosować plecy:

    • Aby przywrócić wersję 4.18.05, pobierz bootstrap_4.18.05.sh:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • Aby przywrócić wersję 4.18.01, pobierz bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Aby przywrócić wersję 4.17.09, pobierz bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
  2. Zatrzymaj komponent do wycofania:
    1. Aby wycofać dowolny z komponentów ze wspólnym kodem w 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ć zarabianie, odinstaluj tę funkcję z serwera zarządzania i wiadomości Węzły procesora:
    /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ęzła, musisz je wszystkie odinstalować, odinstalowując komponent edge-gateway jak 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, ponieważ następujący przykład:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Gdzie component to nazwa komponentu.

    3. Aby przywrócić router brzegowy, musisz usunąć zawartość /opt/nginx/conf.d, oprócz odinstalowania Grupa komponentów edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Odinstaluj wersję 4.19.01 aplikacji apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj apigee-service w wersji 4.18.05, 4.18.01 lub 4.17.09 i ich zależnościami. Poniższy przykład instaluje wersję 4.17.09 apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

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

    Jeśli pojawi się błąd, sprawdź, czy w kroku został pobrany plik bootstrap.sh. 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 jest komponentem do zainstalowania, a configFile to komponent i konfigurację starszej wersji.

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

Aby przywrócić wersję 4.19.01–17.09, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01 lub 4.18.05, nie musisz wycofywać Postgres jako uaktualnienia nie zawierała aktualizacji Postgres.

Przywracanie poprzedniej wersji aktualizacji

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

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

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

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

    Jeśli korzystasz z repozytorium online Apigee, możesz określić dostępny komponent za pomocą tego polecenia:

    yum --showduplicates list comp

    Na przykład:

    yum --showduplicates list edge-ui
  2. Użyj narzędzia 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.

Aby przywrócić wersję 4.19.01–17.09, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01 lub 4.18.05, nie musisz wycofywać Postgres jako uaktualnienia nie zawierała aktualizacji Postgres.

Cofanie aktualizacji Postgres 9.6

W przypadku aktualizacji do wersji 4.19.01 z wersji 4.17.09 musisz wycofać Aktualizuj Postgres, a nie tylko komponenty Edge.

Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji stanu głównego:

  • Awansuj nowy węzeł gotowości na główny węzeł Postgres. Nowy master Postgres zostanie taką samą wersję jak poprzednia instalacja Edge.
  • Skonfiguruj stary węzeł gotowości tak, aby był węzłem gotowości nowego mastera. Stary węzeł gotowości będzie taka sama jak poprzednia instalacja Edge
  • Zarejestruj nowe węzły główne i gotowości w grupach Analytics i konsumentów.

Po zakończeniu przywracania stary węzeł główny nie będzie już potrzebny. Dostępne opcje a następnie wyłączyć stary węzeł główny.

  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. Sprawdź, czy Postgres został zatrzymany w starym węźle głównym i starym węźle gotowości:
    /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 usługę Qpid, uruchom ją 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 główny Postgres:
    1. Awansuj 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 Postgres dla „apigee” user, która jest domyślnie ustawiona jako „postgres”.

    2. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące:
      # 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. Utwórz ponownie stary węzeł gotowości:
    1. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące:
      # 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 tak, aby był węzłem gotowości nowego węzła głównego:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Sprawdź, czy Postgres działa w starym węźle gotowości:
      /opt/apigee/apigee-service/bin/apigee-all status

      Jeśli nie jest uruchomiony, uruchom go:

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

    To polecenie zwraca nazwę grupy analitycznej w polu name, a parametr w polu name w kolumnie consumer-groups. Dodatkowo zwraca identyfikatory UUID starych węzłów głównych i gotowości Postgres w postgres-server i datastores. Zobaczysz, że dane wyjściowe w formacie:

    {
      "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. Uzyskaj adres UUID starego mastera, uruchamiając na urządzeniu następujące polecenie curl stary węzeł główny:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

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

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Powtórz poprzedni krok, aby uzyskać adresy IP starego i nowego węzła gotowości głównym.
  10. Usuń stare węzły główne i gotowości z grupy konsumentów:
    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 funkcji analiz i grup konsumentów. masterUUID,standbyUUID są w tej samej kolejności pojawia się powyżej, gdy wyświetlisz aktualne informacje o bieżących danych analitycznych i o grupie konsumentów powyżej. Ty może być konieczne określenie ich jako standbyUUID,masterUUID.

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

  11. Usuń z grupy analitycznej 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.

  12. Zarejestruj nowe węzły główne i gotowości PG w grupach analitycznych i dla 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
  13. Zweryfikuj grupę statystyk:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Identyfikatory UUID nowych węzłów głównych i gotowości powinny wyświetlić się w grupie Analytics. i grupę konsumentów.

  14. Ponownie uruchom serwer zarządzania brzegiem:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Uruchom ponownie wszystkie serwery Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Uruchom ponownie wszystkie serwery Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Sprawdź stan replikacji, uruchamiając poniższe skrypty na obu serwerach. System powinny wyświetlać identyczne wyniki na obu serwerach, aby zapewnić pomyślną replikację:

    Na nowym wzorcu uruchom polecenie:

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

    Potwierdź, że jest oznaczona jako nadrzędna. W starym węźle gotowości:

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

    Upewnij się, że jest wyświetlany w trybie gotowości.

  18. Powtórz poprzedni krok po wykonaniu kilku żądań do interfejsu API, aby mieć pewność, że węzły są synchronizację.
  19. Wycofaj stary master Postgres, korzystając z procedury w Zaktualizuj Apigee Edge od 4.16.01/4.16.05 do 4.17.09.

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

Odinstaluj Qpid ze starego mastera i zainstaluj Qpid na nowym masterze

Aby odinstalować moduł Qpid ze starego mastera i zainstalować go na nowym masterze:

  1. Zablokuj podmiotom przetwarzającym wiadomości dostęp do portu Qpid 5672 w starym masterze uruchomienie tego polecenia na wszystkich procesorach wiadomości:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Uruchom poniższe polecenie, aby mieć pewność, że kolejka komunikatów Qpid jest pusta. Nie można odinstaluj Qpid, dopóki nie przetworzy wszystkich oczekujących wiadomości:
    qpid-stat -q

    To polecenie wyświetla tabelę zawierającą liczbę dla msg, msgIn, and msgOut. Wszystkie wiadomości zostaną przetworzone, gdy msg=0, i msgIn=msgOut.

  3. Określ identyfikator UUID serwera Qpid w starym masterze, uruchamiając następujące polecenie na ze starym mistrzem. Zapisz te informacje na później w ramach procedury:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Zatrzymaj Qpid na starym masterze:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Odinstaluj serwer Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Usuń stary serwer Qpid z grup analitycznych i dla konsumentów:
    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. Usuń stary serwer Qpid z Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Zainstaluj Qpid na nowym masterze:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Określ identyfikator UUID serwera Qpid w nowym masterze, uruchamiając poniższe polecenie na nowego mistrza. Zapisz te informacje na później w ramach procedury:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Zarejestruj nowy serwer Qpid w grupach analitycznych i dla 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=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. Uruchom ponownie wszystkie procesory wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Uruchom to polecenie na nowym serwerze Qpid, aby sprawdzić, czy kolejki zostały utworzone:
    qpid-stat -q

    Upewnij się, że msg, msgIn i msgOut są oznaczone aktualizowany w miarę przetwarzania wiadomości przez serwer Qpid.

Jeśli podczas przywracania poprzedniej wersji wystąpią problemy, skontaktuj się z zespołem pomocy Apigee Edge.