Przywróć Apigee Edge 4.18.05

Edge for Private Cloud, wersja 4.18.05

Jeśli w trakcie aktualizacji do wersji 4.18.05 wystąpi błąd, możesz przywrócić komponent, który spowodował błąd, i spróbować przeprowadzić aktualizację ponownie.

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ć poprzednią wersję z 4.18.05 do 4.17.09 lub 4.17.05, musisz nie tylkowycofać komponentu, aby przywrócić komponenty w każdym węźle. Jeśli przywracasz wersję do 4.18.01, nie musisz wycofywać Postgres, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.

Istnieją 2 scenariusze, które mogą wymagać przywrócenia:

  1. Cofnij się do poprzedniej wersji funkcji. Na przykład od 4.18.05 do 4.18.01.
  2. Cofnij się do poprzedniej wersji aktualizacji w tej samej wersji. Na przykład od 4.18.05.02 do 4.18.05.01.

Więcej informacji znajdziesz w sekcji Proces wydawania wersji Apigee Edge.

Kto może wycofywać zmiany

Użytkownik, który wykonuje przywracanie, powinien być taki sam jak użytkownik, który pierwotnie zaktualizował Edge, lub użytkownik z dostępem do roota.

Domyślnie komponenty brzegowe działają jako użytkownik „apigee”. W niektórych przypadkach możesz uruchamiać komponenty Edge jako różnych użytkowników. Jeśli na przykład router ma dostęp do portów z podwyższonymi uprawnieniami, takich jak port poniżej 1000, musisz uruchomić router jako root lub jako użytkownik z dostępem do tych portów. Jeden komponent może być powiązany z jednym użytkownikiem, a drugi z innymi użytkownikami.

Komponenty ze wspólnym kodem

Te komponenty Edge współdzielą wspólny kod. Dlatego aby przywrócić jeden z tych komponentów w węźle, trzeba przywrócić wszystkie takie komponenty, które się w nim znajdują.

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

Jeśli na przykład w węźle są zainstalowane serwer zarządzania, router i procesor wiadomości, aby przywrócić poprzednią wersję jednego z nich, musisz przywrócić wszystkie pozostałe.

Przywróć poprzednią wersję funkcji

Aby przywrócić wcześniejszą wersję systemu z wersji 4.18.05 do 4.17.09 lub 4.17.05, musisz nie tylko przywrócić elementów Postgres, ale też przywrócić komponenty w każdym węźle. Jeśli przywracasz wersję 4.18.01, nie musisz wycofywać Postgres, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.

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

  1. Pobierz plik bootstrap.sh wersji, którą chcesz przywrócić:

    • 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. Zatrzymanie komponentu do wycofania:
    1. Aby wycofać dowolny składnik ze wspólnym kodem w węźle, musisz go zatrzymać, tak jak 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 wycofujesz funkcję Zarabianie, odinstaluj ją ze wszystkich węzłów serwera zarządzania i przetwarzania wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Odinstaluj komponent, aby przywrócić go do węzła:
    1. Aby przywrócić dowolny komponent z wspólnym kodem w węźle, musisz odinstalować je wszystkie przez odinstalowanie grupy komponentów edge-gateway w następujący sposób:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Aby wycofać inny komponent w węźle, odinstaluj tylko ten komponent, jak pokazano w przykładzie:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Gdzie component to nazwa komponentu.

    3. Aby przywrócić router brzegowy, 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ę apigee-setup 4.18.05:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Zainstaluj wersję 4.18.01, 4.17.09 lub 4.17.05 narzędzia apigee-service i jego zależności. Ten 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 nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz właściwość pWord, pojawi się prośba o jej wpisanie.

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

  9. Jeśli przywracasz poprzednią wersję Qpid, opróżni iptables:
    sudo iptables -F
  10. Powtórz ten proces dla każdego węzła, który hostuje cofany element.

Aby przywrócić wcześniejszą wersję systemu z wersji 4.18.05 do 4.17.09 lub 4.17.05, musisz nie tylko przywrócić elementów Postgres, ale też przywrócić komponenty w każdym węźle. Jeśli przywracasz wersję 4.18.01, nie musisz wycofywać Postgres, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.

Przywróć poprzednią wersję aktualizacji

Aby przywrócić komponent do określonej wersji, wykonaj te czynności w przypadku każdego węzła, 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 aktualizacji do zainstalowania. Na przykład:

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

    Jeśli korzystasz z internetowego repozytorium Apigee, możesz sprawdzić dostępne wersje komponentów, 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 możesz określić tylko nazwę komponentu, a nie jego wersję.

  3. Powtórz ten proces dla każdego węzła, który hostuje cofany element.

Aby przywrócić wcześniejszą wersję systemu z wersji 4.18.05 do 4.17.09 lub 4.17.05, musisz nie tylko przywrócić elementów Postgres, ale też przywrócić komponenty w każdym węźle. Jeśli przywracasz wersję 4.18.01, nie musisz wycofywać Postgres, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.

Cofnij aktualizację Postgres 9.6

Jeśli wersja 4.18.05 została uaktualniona do wersji 4.17.05 lub 4.17.09, oprócz komponentów Edge musisz przywrócić aktualizację Postgres.

Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji master-standby:

  • Rozwiń nowy węzeł gotowości, aby zostać mistrzem Postgres. Nowa instancja główna Postgres będzie w tej samej wersji co poprzednia instalacja Edge.
  • Skonfiguruj stary węzeł gotowości jako węzeł gotowości nowego węzła głównego. Stary węzeł gotowości będzie taki sam jak poprzednia instalacja Edge.
  • Zarejestruj nowe węzły główne i zapasowe w grupach statystyk i konsumenta.

Gdy zakończysz przywracanie, stary węzeł główny nie będzie już potrzebny. Następnie możesz wycofać stary węzeł główny.

  1. Upewnij się, że nowy węzeł Postgres w trybie gotowości jest uruchomiony:
    /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli Postgres nie działa, uruchom go:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Sprawdź, czy Postgres został zatrzymany w starym węźle nadrzędnym i starym węźle gotowym:
    /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 ją zainstalujesz, uruchom Qpid w starym węźle gotowości:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Promuj nowy węzeł gotowości jako wzorzec mastera Postgres:
    1. Promuj nowy węzeł gotowości jako nowy wzorzec:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      W razie potrzeby wpisz hasło użytkownika Postgres dla użytkownika „apigee”, którego domyślna wartość to „postgres”.

    2. Edytuj plik konfiguracji, który został 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. Utwórz ponownie stary węzeł gotowości:
    1. Edytuj plik konfiguracji, który został 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 stary węzeł gotowości jako węzeł gotowości nowego wzorca:
      /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 program 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 – w tym celu wyświetl plik /opt/apigee/apigee-postgresql/conf/pg_hba.conf.
  7. Aby wyświetlić bieżące statystyki i informacje o grupie konsumentów, uruchom to polecenie na serwerze zarządzania:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    To polecenie zwraca nazwę grupy statystyk w polu name, a nazwę grupy konsumenta w polu name w sekcji consumer-groups. Zwraca także identyfikatory UUID starych wzorcowych postów Postgres i węzłów gotowości w polu postgres-server i w polu 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" : {
      }
    }

  8. Uzyskaj adres UUID starego mastera, uruchamiając to polecenie curl w starym węźle nadrzędnym:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

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

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Powtórz poprzedni krok, aby pobrać adresy IP starego węzła gotowego i nowego węzła głównego.
  10. Usuń z grupy konsumentów 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 grup statystyk i konsumentów. Kolejność tych członów (masterUUID,standbyUUID) obowiązuje w podanej wyżej kolejności. Konieczne może być określenie ich jako standbyUUID,masterUUID.

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

  11. Usuń z grupy statystyk stare węzły główne i stanowe:
    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ć pusta.

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

    Na liście analityki i grupy konsumentów powinny być widoczne identyfikatory UUID nowych węzłów nadrzędnych i czuwania.

  14. Uruchom ponownie serwer zarządzania Edge:
    /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, wykonując następujące skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby umożliwić replikację:

    Na nowym wzorcu uruchom:

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

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

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

    Sprawdź, czy urządzenie jest w trybie gotowości.

  18. Powtórz poprzedni krok po wykonaniu kilku żądań do interfejsu API, aby upewnić się, że węzły są zsynchronizowane.
  19. Wycofaj stary wzorzec Postgres, korzystając z procedury w sekcji Apigee Edge od 4.16.01/4.16.05 do 4.17.09.

    Możesz też odinstalować Qpid ze starego węzła głównego i zainstalować go w nowym węźle nadrzędnym. Po odinstalowaniu Qpid możesz wycofać stary węzeł główny.

Odinstaluj Qpid ze starego pliku głównego i zainstaluj Qpid na nowym masterze

Aby odinstalować aplikację Qpid ze starego elementu głównego i zainstalować ją na nowym:

  1. Aby zablokować dostęp do procesora wiadomości do starego portu mastera 5672, uruchom to polecenie na wszystkich procesorach:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Upewnij się, że kolejka wiadomości Qpid jest pusta, uruchamiając to polecenie. Nie możesz odinstalować Qpid, dopóki nie przetworzy wszystkich wszystkich oczekujących wiadomości:
    qpid-stat -q

    To polecenie wyświetla tabelę zawierającą liczbę elementów msg, msgIn, and msgOut. Wszystkie wiadomości zostały przetworzone, gdy msg=0 i msgIn=msgOut.

  3. Określ identyfikator UUID serwera Qpid w starym masterze, uruchamiając to polecenie w starym masterze. Zapisz te informacje na później:
    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 statystyk i konsumenta:
    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 aplikacji 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 to polecenie w nowym masterze. Zapisz te informacje na później:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Zarejestruj nowy serwer Qpid w grupach statystyk 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=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 podmioty przetwarzające 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

    Sprawdź, czy msg, msgIn i msgOut są aktualizowane w czasie, gdy serwer Qpid przetwarza wiadomości.

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