Cofanie zmian w Apigee Edge 4.18.05

Edge for Private Cloud w wersji 4.18.05

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

Możesz przywrócić Edge 4.18.05 do tych wersji funkcji:

  • Wersja 4.18.01
  • Wersja 4.17.09*
  • Wersja 4.17.05*

* Aby przywrócić wersję 4.18.05–4.17.09 lub 4.17.05, musisz wycofanie Postgres, a także wycofanie komponentów każdego węzła. Jeśli wrócisz do wersji 4.18.01, nie będzie trzeba wycofywać Postgres w ramach 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.18.05 do 4.18.01.
  2. Przywracanie poprzedniej wersji aktualizacji w tej samej wersji. Dla: np. od 4.18.05.02 do 4.18.05.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.18.05–4.17.09 lub 4.17.05, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01, nie musisz wycofywać Postgres w ramach 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.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 
    • Aby przywrócić wersję 4.17.05, pobierz bootstrap_4.17.05.sh:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.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.18.05 aplikacji apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj wersję 4.18.01, 4.17.09 lub 4.17.05 urządzenia apigee-service 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.18.05–4.17.09 lub 4.17.05, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01, nie musisz wycofywać Postgres w ramach 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.18.05–4.17.09 lub 4.17.05, musisz wycofać zmiany Postgres, a także przywrócić poprzednie komponenty każdego węzła. Jeśli przywrócisz wersję 4.18.01, nie musisz wycofywać Postgres w ramach uaktualnienia nie zawierała aktualizacji Postgres.

Cofanie aktualizacji Postgres 9.6

W przypadku aktualizacji do wersji 4.18.05 z wersji 4.17.05 lub 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.