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:
- Cofnij się do poprzedniej wersji funkcji. Na przykład od 4.18.05 do 4.18.01.
- 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:
-
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
- Aby przywrócić wersję 4.18.01, pobierz
- Zatrzymanie komponentu do wycofania:
- 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
- Aby wycofać dowolny inny komponent w węźle, zatrzymaj tylko ten komponent:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Aby wycofać dowolny składnik ze wspólnym kodem w węźle, musisz go zatrzymać, tak jak w tym przykładzie:
- 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
- Odinstaluj komponent, aby przywrócić go do węzła:
- 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
- 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.
- 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 *
- Aby przywrócić dowolny komponent z wspólnym kodem w węźle, musisz odinstalować je wszystkie przez odinstalowanie grupy komponentów
- Odinstaluj wersję
apigee-setup
4.18.05:/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-service
i jego zależności. Ten przykład instaluje wersję 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 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
. - 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 jest komponentem do zainstalowania, a configFile to plik konfiguracji starszej wersji.
- Jeśli przywracasz poprzednią wersję Qpid, opróżni iptables:
sudo iptables -F
- 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:
- 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
- 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ę.
- 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.
- 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
- 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
- Jeśli ją zainstalujesz, uruchom Qpid w starym węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Promuj nowy węzeł gotowości jako wzorzec mastera Postgres:
- 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”.
- 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
- Skonfiguruj nowy wzorzec:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Promuj nowy węzeł gotowości jako nowy wzorzec:
- Utwórz ponownie stary węzeł gotowości:
- 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
- Usuń katalog danych w starym węźle gotowości:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- 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
- 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
- Edytuj plik konfiguracji, który został użyty do zainstalowania bieżącej wersji Edge, aby określić:
- Sprawdź, czy nowy węzeł gotowości został dodany – w tym celu wyświetl plik
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
. - 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 poluname
w sekcjiconsumer-groups
. Zwraca także identyfikatory UUID starych wzorcowych postów Postgres i węzłów gotowości w polupostgres-server
i w poludatastores
. 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 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"
- Powtórz poprzedni krok, aby pobrać adresy IP starego węzła gotowego i nowego węzła głównego.
- 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
elementuconsumer-groups
powinna być teraz pusta. - 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 poluuuids
powinna być pusta. - 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
- 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.
- Uruchom ponownie 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, 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.
- Powtórz poprzedni krok po wykonaniu kilku żądań do interfejsu API, aby upewnić się, że węzły są zsynchronizowane.
- 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:
- 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
- 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, gdymsg=0
imsgIn=msgOut
. - 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
- 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
- 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 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
- Usuń stary serwer Qpid z aplikacji Zookeeper:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- Zainstaluj Qpid na nowym masterze:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- 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
- 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
- Uruchom ponownie wszystkie podmioty przetwarzające wiadomości:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Uruchom to polecenie na nowym serwerze Qpid, aby sprawdzić, czy kolejki zostały utworzone:
qpid-stat -q
Sprawdź, czy
msg
,msgIn
imsgOut
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.