Jeśli podczas aktualizacji do Edge 4.51.00 wystąpi błąd, możesz przywrócić komponent, który go spowodował, a następnie spróbować ponownie przeprowadzić aktualizację.
Możesz przywrócić Edge 4.51.00 do tych wersji do publikacji Feature Release:
- Wersja 4.50.00
- Wersja 4.19.06
Istnieją 2 sytuacje, w których możesz chcieć przywrócić poprzednią wersję:
- Przywracanie poprzedniej wersji funkcji Na przykład z 4.51.00 na 4.50.00.
- Przywróć poprzednią wersję aktualizacji w tej samej wersji. Na przykład z 4.50.00.02 na 4.50.00.01.
Więcej informacji znajdziesz w artykule na temat procesu publikowania Apigee Edge.
Kto może przywrócić poprzednią wersję
Użytkownik, który przywraca poprzednią wersję, powinien być tym samym użytkownikiem, który pierwotnie zaktualizował Edge, lub użytkownikiem działającym jako root.
Domyślnie komponenty Edge działają jako użytkownik „apigee”. W niektórych przypadkach komponenty Edge mogą być uruchamiane jako różni użytkownicy. Jeśli na przykład router musi mieć dostęp do portów uprzywilejowanych, takich jak te poniżej 1000, musisz uruchomić router jako root lub jako użytkownik z dostępem do tych portów. Możesz też uruchomić jeden komponent jako jeden użytkownik, a inny komponent jako inny użytkownik.
Komponenty ze wspólnym kodem
Te komponenty Edge współdzielą kod. Dlatego aby przywrócić którykolwiek 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 komunikatów)edge-router(router)edge-postgres-server(serwer Postgres)edge-qpid-server(serwer Qpid)
Jeśli na przykład na węźle zainstalowano serwer zarządzania, router i procesor komunikatów, aby przywrócić dowolny z nich, musisz przywrócić wszystkie 3.
Przywracanie poprzedniej wersji funkcji
Aby przywrócić poprzednią wersję funkcji, wykonaj te czynności na każdym węźle, na którym znajduje się komponent:
-
Pobierz plik
bootstrap.shdla wersji, do której chcesz wrócić:- 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
- Aby przywrócić wersję 4.50.00, pobierz
- Zatrzymaj komponent, który chcesz wycofać:
- Aby przywrócić poprzednią wersję dowolnego komponentu 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 - Aby przywrócić inny komponent w węźle, zatrzymaj tylko ten komponent:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Aby przywrócić poprzednią wersję dowolnego komponentu ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, jak pokazano w tym przykładzie:
- Jeśli wycofujesz Zarabianie, odinstaluj je ze wszystkich węzłów serwera zarządzania i procesora komunikatów:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Odinstaluj komponent, aby przywrócić poprzednią wersję w węźle:
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz odinstalować je wszystkie, odinstalowując grupę komponentów
edge-gateway, jak pokazano w tym przykładzie:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Aby wycofać dowolny inny komponent w węźle, odinstaluj tylko ten komponent, jak pokazano w tym przykładzie:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
Gdzie component jest nazwą komponentu.
- Aby przywrócić router brzegowy, musisz usunąć zawartość pliku
/opt/nginx/conf.di odinstalować grupę komponentówedge-gateway:cd /opt/nginx/conf.d
rm -rf *
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz odinstalować je wszystkie, odinstalowując grupę komponentów
- Odinstaluj wersję 4.51.00 aplikacji
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Zainstaluj wersję 4.19.06 lub 4.50.00 narzędzia
apigee-servicei jego zależności. W tym przykładzie instalowana jest wersja 4.50.00apigee-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 od Apigee. Jeśli pominiesz pWord, pojawi się prośba o jego podanie.
Jeśli pojawi się błąd, upewnij się, że w kroku 1 został pobrany plik
bootstrap.sh. - Zainstaluj
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 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.
- Jeśli przywracasz Qpid, wyczyść iptables:
sudo iptables -F
- Powtórz ten proces dla każdego węzła, który hostuje komponent, który chcesz przywrócić.
Przywracanie poprzedniej wersji aktualizacji
Aby przywrócić komponent do określonej wersji, wykonaj te czynności na każdym węźle, na którym znajduje się komponent:
- 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 określić dostępne wersje komponentów za pomocą tego polecenia:
yum --showduplicates list comp
Na przykład:
yum --showduplicates list edge-ui
- 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 podajesz tylko nazwę komponentu, a nie jego wersję.
- Powtórz ten proces dla każdego węzła, który hostuje komponent, który chcesz przywrócić.
Cofanie aktualizacji Postgres 10.17
Jeśli uaktualniasz wersję 4.51.00 z wersji 4.19.06 lub 4.50.00, musisz wycofać aktualizację Postgres oraz komponenty Edge.
Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji master-standby:
- Awansuj nowy węzeł rezerwowy na mastera Postgres. Nowa instancja główna Postgres będzie w tej samej wersji co poprzednia instalacja Edge.
- Skonfiguruj stary węzeł rezerwowy jako węzeł rezerwowy nowego węzła głównego. Stary węzeł rezerwowy będzie w tej samej wersji co poprzednia instalacja Edge.
- Zarejestruj nowe węzły nadrzędne i rezerwowe w grupach analitycznych i konsumenckich.
Po zakończeniu przywracania stary węzeł główny nie będzie już potrzebny. Następnie możesz wycofać stary węzeł główny.
- Sprawdź, czy nowy węzeł Postgres w trybie gotowości 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
- Upewnij się, że usługa Postgres została zatrzymana na starym węźle głównym i starym węźle rezerwowym:
/opt/apigee/apigee-service/bin/apigee-all status
Jeśli Postgres działa, zatrzymaj go:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Jeśli jest zainstalowany, uruchom Qpid na starym węźle rezerwowym:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Awansuj nowy węzeł rezerwowy na mastera Postgres:
- Awansuj nowy węzeł rezerwowy na nowy węzeł główny:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Jeśli pojawi się prośba, wpisz hasło Postgres dla użytkownika „apigee”, które domyślnie brzmi „postgres”.
- Zmodyfikuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić te elementy:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Skonfiguruj nową instancję główną:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Awansuj nowy węzeł rezerwowy na nowy węzeł główny:
- Jeśli stary węzeł rezerwowy został już uaktualniony do nowszej wersji, musisz najpierw obniżyć wersję oprogramowania Apigee na starym węźle rezerwowym. Jeśli na starym węźle rezerwowym nadal masz starszą wersję, możesz pominąć ten krok i przejść do kroku 6.
- Zatrzymaj Postgres na starym węźle rezerwowym:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Odinstaluj Postgres ze starego węzła rezerwowego:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Usuń katalog danych Postgres ze starego węzła rezerwowego:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Pobierz i uruchom starszą wersję programu startowego (w wersji Apigee, do której chcesz wrócić) na starym węźle rezerwowym. Konkretne czynności mogą się różnić w zależności od tego, czy instalujesz aplikację przez internet czy offline. Uruchomienie starszej wersji programu Apigee bootstrap spowoduje skonfigurowanie repozytoriów yum ze starszą wersją danych Apigee.
- Skonfiguruj komponenty Postgres na starym węźle rezerwowym:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Sprawdź, czy komponenty Postgres na starym węźle rezerwowym zostały przywrócone do starszej wersji:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Zatrzymaj Postgres na starym węźle rezerwowym:
- Odbuduj stary węzeł rezerwowy:
- Zmodyfikuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić te elementy:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Usuń katalog danych na starym węźle rezerwowym:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Zmień konfigurację starego węzła rezerwowego, aby stał się węzłem rezerwowym nowego węzła głównego:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Upewnij się, że Postgres działa na starym węźle rezerwowym:
/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
- Zmodyfikuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić te elementy:
- Sprawdź, czy nowy węzeł rezerwowy został dodany, wyświetlając plik
/opt/apigee/apigee-postgresql/conf/pg_hba.confna nowym węźle głównym. - Aby wyświetlić bieżące informacje o statystykach i 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 analitycznej w polu
namei nazwę grupy konsumentów w polunamew sekcjiconsumer-groups. Zwraca też identyfikatory UUID starych węzłów głównych i rezerwowych Postgres w polachpostgres-serveridatastores. Powinny się wyświetlić dane wyjściowe w tej postaci:{ "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" : { } } - Pobierz 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
Na końcu danych wyjściowych powinien pojawić się identyfikator UUID węzła w formie:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Powtórz poprzedni krok, aby uzyskać adresy IP starego węzła rezerwowego i nowego węzła głównego.
- Usuń stare węzły główne i rezerwowe 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 grup analitycznych i konsumenckich. masterUUID,standbyUUID są w tej samej kolejności, w jakiej pojawiły się powyżej, gdy wyświetlałeś(-aś) bieżące statystyki i informacje o grupie konsumentów. Może być konieczne określenie ich jako standbyUUID,masterUUID.
Właściwość
datastoresdlaconsumer-groupspowinna być teraz pusta. - Usuń stare węzły nadrzędne i rezerwowe z grupy analityki:
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-serverw sekcjiuuidspowinna być teraz pusta. - Zarejestruj nowe węzły główne i rezerwowe PG 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 - Sprawdź grupę statystyk:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
W grupie analitycznej i grupie konsumentów powinny być widoczne identyfikatory UUID nowych węzłów głównych i węzłów gotowości.
- Ponownie uruchom serwer zarządzania Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Uruchom ponownie wszystkie serwery Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Uruchom ponownie wszystkie serwery Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Sprawdź stan replikacji, uruchamiając te skrypty na obu serwerach. Aby replikacja przebiegła pomyślnie, system powinien wyświetlić identyczne wyniki na obu serwerach:
Na nowym węźle głównym uruchom:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Sprawdź, czy jest to urządzenie główne. Na starym węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Sprawdź, czy jest to urządzenie rezerwowe.
- Po wysłaniu kilku żądań do interfejsu API powtórz poprzedni krok, aby upewnić się, że węzły są zsynchronizowane.
- Wycofaj stary serwer główny Postgres, postępując zgodnie z procedurą opisaną w artykule Aktualizowanie Apigee Edge z wersji 4.16.01/4.16.05 do wersji 4.17.09.
Możesz też odinstalować Qpid ze starego węzła głównego i zainstalować go na nowym węźle głównym. Po odinstalowaniu Qpid możesz wycofać stary węzeł główny.
Wycofaj mTLS
Aby wycofać aktualizację mTLS, wykonaj te czynności na wszystkich hostach:
- Zatrzymaj Apigee:
apigee-all stop
- Zatrzymaj mTLS:
apigee-service apigee-mtls uninstall
- Ponowna instalacja mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf