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:
- Przywracanie poprzedniej wersji głównej lub podrzędnej. Na przykład od 4.52.01 do 4.52.00.
- 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:
-
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
- Aby przywrócić wersję 4.51.00, pobierz
- Zatrzymaj komponent, aby wycofać zmiany:
- 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
- Aby wycofać dowolny inny komponent w węźle, zatrzymaj tylko ten komponent:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, jak pokazano w tym przykładzie:
- 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
- Odinstaluj komponent, aby przywrócić działanie w węźle:
- 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
- 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.
- 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 *
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz je wszystkie odinstalować, odinstalowując grupę komponentów
- Odinstaluj wersję
apigee-setup
4.52.01:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Zainstaluj narzędzie
apigee-service
w wersji 4.51.00 i jego zależności. Ten przykład pokazuje zainstalowanie wersjiapigee-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
. - 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 wersję Qpid, wyczyść iptables:
sudo iptables -F
- 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:
- 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
- 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ę.
- 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.
- 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
- 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
- Jeśli zainstalowano, uruchom Qpid w starym węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Ustaw nowy węzeł gotowości jako mastera Postgres:
- 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”.
- 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
- Skonfiguruj nowy wzorzec:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Ustaw nowy węzeł gotowości na nowy węzeł nadrzędny:
- 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.
- Zatrzymaj Postgres w starym węźle gotowości:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Odinstaluj Postgres ze starego węzła gotowości:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Usuń katalog danych Postgres ze starego węzła gotowości:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- 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.
- Skonfiguruj komponenty Postgres w starym węźle gotowości:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- 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
- Zatrzymaj Postgres w starym węźle gotowości:
- Ponownie utwórz stary węzeł gotowości:
- 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
- Usuń katalog danych w starym węźle gotowości:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- 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
- 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
- Edytuj plik konfiguracji użyty do zainstalowania bieżącej wersji Edge, aby określić:
- Sprawdź, czy nowy węzeł gotowości został dodany, wyświetlając plik
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
w nowym masterze. - 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 poluname
w poluconsumer-groups
. Zwraca też identyfikatory UUID starego węzła głównego Postgres i węzłów gotowości w polachpostgres-server
idatastores
. 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" : { } }
- 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"
- Powtórz poprzedni krok, aby uzyskać adresy IP starego węzła gotowości i nowego węzła głównego.
- 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
elementuconsumer-groups
powinna być teraz pusta. - 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 poluuuids
powinna być teraz pusta. - 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
- 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.
- Ponownie uruchom serwer zarządzania brzegiem:
/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 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.
- Po utworzeniu kilku żądań do interfejsu API powtórz poprzedni krok, aby mieć pewność, że węzły są zsynchronizowane.
- 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:
- Zatrzymaj Apigee:
apigee-all stop
- Zatrzymaj mTLS:
apigee-service apigee-mtls uninstall
- Ponownie zainstaluj mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf