Erreichbarkeit des Serverservers (Nachrichtenprozessor/Router) aktivieren/deaktivieren

Edge for Private Cloud Version 4.17.01

Es empfiehlt sich, die Erreichbarkeit eines Servers während der Wartung zu deaktivieren, z. B. bei einem Serverneustart oder -upgrade. Wenn die Erreichbarkeit deaktiviert ist, wird kein Traffic an den Server weitergeleitet. Wenn die Erreichbarkeit beispielsweise für einen Nachrichtenprozessor deaktiviert ist, leiten Router keinen Traffic an diesen Nachrichtenprozessor weiter.

So führen Sie beispielsweise ein Upgrade eines Nachrichten-Prozessors durch:

  1. Deaktivieren Sie die Erreichbarkeit für den Nachrichtenprozessor.
  2. Aktualisieren Sie den Nachrichtenprozessor.
  3. Aktivieren Sie die Erreichbarkeit für den Nachrichtenprozessor.

Verfügbarkeit bei einem Nachrichtenverarbeiter deaktivieren/aktivieren

Um die Erreichbarkeit von Message Processor zu deaktivieren, können Sie den Message Processor einfach beenden:

> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop

Der Message Processor verarbeitet zuerst alle ausstehenden Nachrichten, bevor er heruntergefahren wird. Alle neuen Anfragen werden an andere verfügbare Message Processor weitergeleitet.

Verwenden Sie die folgenden Befehle, um Message Processor neu zu starten:

> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
 > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready

Der Befehl wait_for_ready gibt die folgende Meldung zurück, wenn der Message Processor bereit ist, Nachrichten zu verarbeiten:

Checking if message-processor is up: message-processor is up.

Erreichbarkeit auf einem Router deaktivieren/aktivieren

In einer Produktionsumgebung haben Sie in der Regel vor den Edge Routern einen Load-Balancer. Load-Balancer überwachen Port 15999 auf den Routern, um sicherzustellen, dass die Route verfügbar ist.

Konfigurieren Sie den Load-Balancer so, dass eine HTTP- oder TCP-Systemdiagnose auf dem Router ausgeführt wird. Verwenden Sie dazu die folgende URL:

http://router_IP:15999/ v1/servers/self/reachable

Diese URL gibt einen HTTP 200-Antwortcode zurück, wenn der Router erreichbar ist.

Damit ein Router nicht erreichbar ist, können Sie Port 15999 blockieren. Wenn der Load-Balancer nicht an Port 15999 auf den Router zugreifen kann, leitet er keine Anfragen mehr an den Router weiter. Sie können den Port beispielsweise mit dem folgenden iptables-Befehl auf dem Routerknoten blockieren:

>  sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Wenn Sie den Router später verfügbar machen möchten, leeren Sie iptables:

> sudo iptables -F

Möglicherweise verwenden Sie iptables, um andere Ports auf dem Knoten zu verwalten. Berücksichtigen Sie dies, wenn Sie iptables leeren oder Port 15999 mit iptables blockieren. Wenn Sie iptables für andere Regeln verwenden, können Sie mit der Option -D die spezifische Änderung rückgängig machen:

> sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Status des Routers oder Message Processors prüfen

Wenn Sie den Status eines Routers abrufen möchten, senden Sie eine Anfrage an Port 8081 des Routers:

> curl -v http://<routerIP>:8081/v1/servers/self/up

Wenn der Router aktiv ist, gibt die Anfrage "true" in der Antwort und HTTP 200 zurück. Bei diesem Aufruf wird nur geprüft, ob der Router einsatzbereit ist. Die Erreichbarkeit des Routers über einen Load Balancer wird durch Port 15999 gesteuert.

So rufen Sie den Status eines Message Processor ab:

> curl http://<mpIP>:8082/v1/servers/self/up