Neustarts von Routern und Nachrichtenprozessoren ohne Auswirkungen auf den Traffic

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

In diesem Dokument wird erläutert, wie Sie Router und Message Processor (MP) neu starten, ohne den eingehenden API-Traffic zu beeinträchtigen. Unter bestimmten Umständen müssen Sie die Router und MPs neu starten. Einige Beispiele:

  • Wenn ein Truststore, auf den im virtuellen Host, Zielserver oder Ziel Endpunkt direkt verwiesen wird, ohne Verwendung von Verweisen aktualisiert wird.
  • Wenn API-Proxys teilweise auf einigen MPs bereitgestellt werden.

Hinweis

Wenn Sie mit Routern und Message Processors nicht vertraut sind, lesen Sie die Übersicht zu Edge for Private Cloud.

Rolling Restart von Routern ohne Auswirkungen auf den Traffic

In diesem Abschnitt werden die Schritte zum Neustarten von Routern beschrieben, ohne den eingehenden API-Traffic zu beeinträchtigen.

  1. Melden Sie sich beim Router an, der neu gestartet werden muss.
  2. Blockieren Sie den Port für die Systemdiagnose auf dem Router mit dem folgenden Befehl. Dadurch wird sichergestellt, dass der Router als fehlerhaft betrachtet wird und kein Traffic an diesen Router weitergeleitet wird.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Warten Sie zwei Minuten, damit der gesamte Traffic reibungslos verarbeitet wird, bevor Sie den Router neu starten. Führen Sie dazu den Befehl sleep wie folgt aus:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Beenden Sie den Apigee Monit-Dienst so:
    apigee-service apigee-monit stop
        
  5. Beenden Sie den Apigee Router-Dienst so:
    apigee-service edge-router stop
        
  6. Starten Sie den Apigee Router-Dienst so:
    apigee-service edge-router start
        
  7. Warten Sie, bis der Apigee Router-Dienst gestartet wurde und mit dem folgenden Befehl eingehenden Traffic verarbeiten kann:
    apigee-service edge-router wait_for_ready
        
  8. Starten Sie den Apigee Monit-Dienst so:
    apigee-service apigee-monit start
        
  9. Leeren Sie die IP-Tabellen, um den Port für die Systemdiagnose 15999 zu entsperren und dem Router zu ermöglichen, den Traffic wieder zu verarbeiten. Führen Sie dazu die folgenden Befehle aus:
    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

Rolling Restart von Message Processors ohne Auswirkungen auf den Traffic

In diesem Abschnitt werden die Schritte zum Neustarten von Message Processors (MPs) beschrieben, ohne den eingehenden API-Traffic zu beeinträchtigen.

  1. Melden Sie sich beim Message Processor an, der neu gestartet werden muss.
  2. Ermitteln Sie den Port für die Systemdiagnose des Message Processors mit dem folgenden Befehl:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Blockieren Sie den Port für die Systemdiagnose (in Schritt 2 ermittelt) auf dem Message Processor. Dadurch wird sichergestellt, dass der Message Processor als fehlerhaft betrachtet wird und kein Traffic an diesen Message Processor weitergeleitet wird.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Dabei ist port # die Portnummer, die vom Befehl in Schritt 2 zurückgegeben wurde.

  4. Warten Sie zwei Minuten, damit der gesamte Traffic reibungslos verarbeitet wird, bevor Sie den Message Processor neu starten. Führen Sie dazu den Befehl sleep wie folgt aus:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Beenden Sie den Apigee Monit-Dienst so:
    apigee-service apigee-monit stop
        
  6. Beenden Sie den Apigee Message Processor-Dienst so:
    apigee-service edge-message-processor stop
        
  7. Starten Sie den Apigee Message Processor-Dienst so:
    apigee-service edge-message-processor start
        
  8. Warten Sie, bis der Apigee Message Processor-Dienst gestartet wurde und mit dem folgenden Befehl eingehenden Traffic verarbeiten kann:
    apigee-service edge-message-processor wait_for_ready
        
  9. Starten Sie den Apigee Monit-Dienst so:
    apigee-service apigee-monit start
        
  10. Leeren Sie die IP-Tabellen, um den Port für die Systemdiagnose zu entsperren und dem Message Processor zu ermöglichen, den Traffic wieder zu verarbeiten. Führen Sie dazu die folgenden Befehle aus:
    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

Dabei ist port # die Portnummer, die vom Befehl in Schritt 2 zurückgegeben wurde.