Neustarts von Routern und Nachrichtenprozessoren ohne Auswirkungen auf den Traffic

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

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

  • Wenn ein Schlüsselspeicher im virtuellen Host direkt referenziert wird, wird der Zielserver oder Zielendpunkt ohne Verweise aktualisiert.
  • Wenn API-Proxys teilweise auf einigen MPs bereitgestellt werden.

Hinweis

Wenn Sie nicht mit Routern und Message Processorn vertraut sind, lesen Sie die Übersicht über Edge für Private Cloud.

Rollierender Neustart von Routern ohne Auswirkungen auf den Traffic

In diesem Abschnitt werden die Schritte beschrieben, mit denen Router neu gestartet werden, ohne den eingehenden API-Traffic zu beeinträchtigen.

  1. Melden Sie sich bei dem Router an, der neu gestartet werden soll.
  2. Blockieren Sie den Systemdiagnoseport auf dem Router mit dem folgenden Befehl. Dadurch wird sichergestellt, dass der Router als fehlerhaft gilt 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 etwaiger in Bearbeitung befindlicher Traffic reibungslos verarbeitet wird, bevor Sie den Router neu starten. Führen Sie dazu den Befehl sleep so 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 den eingehenden Traffic mit dem folgenden Befehl 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 die Blockierung des Systemdiagnoseports 15999 aufzuheben und den Router wieder für die Verarbeitung des Traffics zu sorgen. 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

Fortlaufender Neustart von Message Processors ohne Auswirkungen auf den Traffic

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

  1. Melden Sie sich beim Message Processor an, der neu gestartet werden muss.
  2. Ermitteln Sie mit dem folgenden Befehl den Systemdiagnoseport des Message Processor:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Blockieren Sie den in Schritt 2 identifizierten Port für die Systemdiagnose auf dem Message Processor. Dadurch wird sichergestellt, dass der Message Processor als fehlerhaft gilt 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 etwaiger laufender Datenverkehr reibungslos verarbeitet wird, bevor Sie den Message Processor neu starten. Führen Sie dazu den Befehl sleep so 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. Senden 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 den eingehenden Traffic mit dem folgenden Befehl 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 die Blockierung des Systemdiagnoseports aufzuheben und dem Message Processor die Verarbeitung des Traffics wieder zu ermöglichen. 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.