Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ten dokument wyjaśnia, jak ponownie uruchamiać routery i procesory wiadomości (MP) bez wpływu na ruch przychodzący przez interfejs API. W pewnych okolicznościach konieczne może być ponowne uruchomienie routerów i MP. Oto kilka przykładów:
- Gdy magazyn kluczy jest bezpośrednio odwołuje się do hosta wirtualnego, serwer docelowy lub docelowy punkt końcowy są aktualizowane bez użycia odwołań.
- Gdy serwery proxy API są częściowo wdrożone na kilku Mpix.
Zanim zaczniesz
Jeśli nie wiesz, czym są routery i procesory wiadomości, przeczytaj omówienie Edge for Private Cloud.
Kroczące ponowne uruchomienie routerów bez wpływu na ruch
W tej sekcji opisano kroki używane do ponownego uruchamiania routerów bez wpływu na przychodzący ruch API.
- Zaloguj się do routera, który chcesz ponownie uruchomić.
-
Zablokuj port kontroli stanu w routerze, używając tego polecenia. Dzięki temu router będzie uznawany za nieprawidłowy i nie będzie do niego kierowany żaden ruch.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
-
Odczekaj 2 minuty, aby upewnić się, że cały ruch przychodzący jest prawidłowo obsługiwany, zanim ponownie uruchomisz router. Możesz to zrobić, uruchamiając polecenie
sleep
w ten sposób:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Zatrzymaj usługę Apigee Monit w ten sposób:
apigee-service apigee-monit stop
-
Zatrzymaj usługę Apigee Router w ten sposób:
apigee-service edge-router stop
-
Uruchom Apigee Router w ten sposób:
apigee-service edge-router start
-
Poczekaj, aż usługa Apigee Router zostanie uruchomiona i będzie gotowa do obsługi ruchu przychodzącego za pomocą tego polecenia:
apigee-service edge-router wait_for_ready
-
Uruchom Apigee Monit w ten sposób:
apigee-service apigee-monit start
-
Wyczyść tabele IP, aby odblokować port kontroli stanu 15999 i zezwolić routerowi na ponowne obsługę ruchu, uruchamiając te polecenia:
sudo iptables -F sudo iptables -L
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-router stop apigee-service edge-router start apigee-service edge-router wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
kroczące ponowne uruchomienie procesorów wiadomości bez wpływu na ruch;
W tej sekcji opisano kroki potrzebne do ponownego uruchomienia procesorów wiadomości (MP) bez wpływu na ruch przychodzący przez interfejs API.
- Zaloguj się do podmiotu przetwarzającego wiadomości, który musi zostać ponownie uruchomiony.
-
Zidentyfikuj port kontroli stanu procesora wiadomości za pomocą tego polecenia:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
-
Zablokuj port kontroli stanu (zidentyfikowany w kroku 2) procesora wiadomości. Dzięki temu procesor wiadomości będzie uznawany za nieprawidłowy i nie będzie do niego kierowany żaden ruch.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
Gdzie port # to numer portu zwrócony z polecenia wykonanego w kroku 2.
-
Odczekaj 2 minuty, aby upewnić się, że cały ruch przychodzący jest prawidłowo obsługiwany, zanim ponownie uruchomisz procesor wiadomości. Możesz to zrobić, uruchamiając polecenie
sleep
w ten sposób:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Zatrzymaj usługę Apigee Monit w ten sposób:
apigee-service apigee-monit stop
-
Zatrzymaj usługę Apigee Message Processor w ten sposób:
apigee-service edge-message-processor stop
- Skonfiguruj usługę Apigee Message Processor w ten sposób:
apigee-service edge-message-processor start
-
Poczekaj, aż usługa Apigee Message Processor zostanie uruchomiona i będzie gotowa do obsługi ruchu przychodzącego za pomocą tego polecenia:
apigee-service edge-message-processor wait_for_ready
-
Uruchom Apigee Monit w ten sposób:
apigee-service apigee-monit start
- Wyczyść tabele IP, aby odblokować port kontroli stanu i zezwolić procesorowi wiadomości na ponowne obsługę ruchu, uruchamiając poniższe polecenia:
sudo iptables -F sudo iptables -L
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-message-processor stop apigee-service edge-message-processor start apigee-service edge-message-processor wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
Gdzie port # to numer portu zwrócony z polecenia wykonanego w kroku 2.