Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Z tego dokumentu dowiesz się, jak ponownie uruchomić routery i procesory wiadomości (MP) bez wpływu na przychodzący ruch API. W pewnych okolicznościach może być konieczne ponowne uruchomienie routerów i procesorów wiadomości. Oto kilka przykładów:
- Gdy magazyn kluczy, do którego bezpośrednio odwołuje się host wirtualny, serwer docelowy lub docelowy punkt końcowy, zostanie zaktualizowany bez użycia odwołań.
- Gdy serwery proxy API są częściowo wdrożone na kilku procesorach wiadomości.
Zanim zaczniesz
Jeśli nie znasz routerów i procesorów wiadomości, przeczytaj artykuł Omówienie Edge for Private Cloud.
Ponowne uruchamianie routerów bez wpływu na ruch
W tej sekcji opisujemy czynności, które należy wykonać, aby ponownie uruchomić routery bez wpływu na przychodzący ruch API.
- Zaloguj się na routerze, który wymaga ponownego uruchomienia.
-
Zablokuj port kontroli stanu na routerze za pomocą tego polecenia. Dzięki temu
router będzie uznawany za nieprawidłowy, a ruch nie będzie do niego kierowany.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT -
Przed ponownym uruchomieniem routera poczekaj 2 minuty, aby mieć pewność, że cały ruch w trakcie przesyłania zostanie obsłużony bez problemów. Możesz to zrobić, uruchamiając polecenie
sleepw 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ę routera Apigee w ten sposób:
apigee-service edge-router stop -
Uruchom usługę routera Apigee w ten sposób:
apigee-service edge-router start -
Poczekaj, aż usługa routera Apigee zostanie uruchomiona i będzie gotowa do obsługi przychodzącego ruchu
Użyj tego polecenia:
apigee-service edge-router wait_for_ready -
Uruchom usługę Apigee Monit w ten sposób:
apigee-service apigee-monit start -
Wyczyść tablice IP, aby odblokować port kontroli stanu 15999 i umożliwić routerowi ponowne obsługiwanie
ruchu. Uruchom 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
Ponowne uruchamianie procesorów wiadomości bez wpływu na ruch
W tej sekcji opisujemy czynności, które należy wykonać, aby ponownie uruchomić procesory wiadomości (MP) bez wpływu na przychodzący ruch API.
- Zaloguj się na procesorze wiadomości, który wymaga ponownego uruchomienia.
-
Określ port kontroli stanu procesora komunikatów za pomocą tego polecenia:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' -
Zablokuj port kontroli stanu (określony w kroku 2) na procesorze komunikatów. Dzięki temu procesor komunikatów będzie uznawany za nieprawidłowy, a ruch nie będzie do niego kierowany.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECTGdzie port # to numer portu zwrócony przez polecenie wykonane w kroku 2.
-
Przed ponownym uruchomieniem procesora komunikatów poczekaj 2 minuty, aby mieć pewność, że cały ruch w trakcie przesyłania zostanie obsłużony bez problemów. Możesz to zrobić, uruchamiając polecenie
sleepw 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ę procesora komunikatów Apigee w ten sposób:
apigee-service edge-message-processor stop - Uruchom usługę procesora komunikatów Apigee w ten sposób:
apigee-service edge-message-processor start -
Poczekaj, aż usługa procesora komunikatów Apigee zostanie uruchomiona i będzie gotowa do obsługi przychodzącego ruchu. Użyj tego polecenia:
apigee-service edge-message-processor wait_for_ready -
Uruchom usługę Apigee Monit w ten sposób:
apigee-service apigee-monit start - Wyczyść tablice IP, aby odblokować port kontroli stanu i umożliwić procesorowi wiadomości
ponowne obsługiwanie ruchu. Uruchom te 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 przez polecenie wykonane w kroku 2.