Edge dla chmury prywatnej w wersji 4.18.05
Jeśli podczas aktualizacji do Edge 4.18.05 wystąpi błąd, możesz przywrócić komponent, który go spowodował, a następnie spróbować ponownie przeprowadzić aktualizację.
Możesz wycofać zmiany Edge 4.18.05 do tych wersji do publikacji Feature Release:
- Wersja 4.18.01
- Wersja 4.17.09*
- Wersja 4.17.05*
* Aby przywrócić wersję 4.17.09 lub 4.17.05 z wersji 4.18.05, musisz przywrócić Postgres, a także przywrócić komponenty w każdym węźle. Jeśli przywrócisz wersję 4.18.01, nie musisz przywracać Postgres, ponieważ proces uaktualniania nie obejmował aktualizacji Postgres.
Istnieją 2 sytuacje, w których możesz chcieć przywrócić poprzednią wersję:
- Przywracanie poprzedniej wersji funkcji Na przykład z wersji 4.18.05 do 4.18.01.
- Przywróć poprzednią wersję aktualizacji w tej samej wersji. Na przykład z wersji 4.18.05.02 na 4.18.05.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ć wersję 4.17.09 lub 4.17.05 z wersji 4.18.05, musisz przywrócić Postgres, a także przywrócić komponenty na każdym węźle. Jeśli przywracasz wersję sprzed 4.18.01, nie musisz przywracać Postgres, ponieważ proces uaktualniania nie obejmował aktualizacji Postgres.
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.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
- Aby przywrócić wersję 4.18.01, 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 wycofać 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.18.05
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Zainstaluj wersję 4.18.01, 4.17.09 lub 4.17.05 narzędzia
apigee-servicei jego zależności. W tym przykładzie instalowana jest wersja 4.17.09apigee-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 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ć.
Aby przywrócić wersję 4.17.09 lub 4.17.05 z wersji 4.18.05, musisz przywrócić Postgres, a także przywrócić komponenty na każdym węźle. Jeśli przywracasz wersję sprzed 4.18.01, nie musisz przywracać Postgres, ponieważ proces uaktualniania nie obejmował aktualizacji Postgres.
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.17.09-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ć.
Aby przywrócić wersję 4.17.09 lub 4.17.05 z wersji 4.18.05, musisz przywrócić Postgres, a także przywrócić komponenty w każdym węźle. Jeśli przywracasz wersję sprzed 4.18.01, nie musisz przywracać Postgres, ponieważ proces uaktualniania nie obejmował aktualizacji Postgres.
Cofanie aktualizacji Postgres 9.6
Jeśli uaktualniasz wersję 4.18.05 z wersji 4.17.05 lub 4.17.09, 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:
- 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 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 oznaczony jako główny. Na starym węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Sprawdź, czy jest oznaczony jako zapasowy.
- 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.
Odinstalowywanie Qpid na starym serwerze głównym i instalowanie Qpid na nowym serwerze głównym
Aby odinstalować Qpid ze starego serwera głównego i zainstalować go na nowym:
- Zablokuj dostęp do portu Qpid 5672 na starym serwerze głównym, aby procesory komunikatów nie mogły się z nim połączyć. W tym celu uruchom to polecenie na wszystkich procesorach komunikatów:
iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- Upewnij się, że kolejka wiadomości Qpid jest pusta, uruchamiając to polecenie. Nie możesz odinstalować Qpid, dopóki nie przetworzy wszystkich oczekujących wiadomości:
qpid-stat -q
To polecenie wyświetla tabelę zawierającą liczbę
msg, msgIn, and msgOut. Wszystkie wiadomości zostaną przetworzone, gdymsg=0imsgIn=msgOut. - Określ identyfikator UUID serwera Qpid na starym serwerze głównym, uruchamiając na nim to polecenie. Zapisz te informacje, ponieważ będą potrzebne w dalszej części procedury:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Zatrzymaj Qpid na starym serwerze głównym:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - Odinstaluj serwer Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall - Usuń stary serwer Qpid z grup analitycznych i konsumenckich:
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 - Usuń stary serwer Qpid z ZooKeepera:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- Zainstaluj Qpid na nowym węźle głównym:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- Określ identyfikator UUID serwera Qpid na nowym serwerze głównym, uruchamiając na nim to polecenie. Zapisz te informacje, ponieważ będą potrzebne w dalszej części procedury:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Zarejestruj nowy serwer Qpid w grupach Analytics 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 - Uruchom ponownie wszystkie procesory komunikatów:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Uruchom na nowym serwerze Qpid to polecenie, aby sprawdzić, czy kolejki zostały utworzone:
qpid-stat -q
Sprawdź, czy wartości
msg,msgInimsgOutsą aktualizowane, gdy serwer Qpid przetwarza wiadomości.
Jeśli podczas przywracania wystąpią problemy, skontaktuj się z zespołem pomocy Apigee Edge.