Activation/désactivation de la joignabilité du serveur (processeur de messages/routeur)

Edge for Private Cloud v4.18.01

Il est recommandé de désactiver la joignabilité sur un serveur lors d'une maintenance, par exemple lors d'un redémarrage ou d'une mise à niveau du serveur. Lorsque la joignabilité est désactivée, aucun trafic n'est dirigé vers le serveur. Par exemple, lorsque la joignabilité est désactivée sur un processeur de messages, les routeurs ne dirigent pas le trafic vers ce processeur.

Par exemple, pour mettre à niveau un processeur de messages, procédez comme suit:

  1. Désactivez la joignabilité sur le processeur de messages.
  2. Mettez à niveau le processeur de messages.
  3. Activez la joignabilité sur le processeur de messages.

Désactiver/activer la joignabilité sur un processeur de messages

Pour désactiver la joignabilité sur le processeur de messages, vous pouvez simplement l'arrêter:

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

Il traite d'abord les messages en attente avant de s'arrêter. Toutes les nouvelles requêtes sont acheminées vers d'autres processeurs de messages disponibles.

Pour redémarrer le processeur de messages, utilisez les commandes suivantes:

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

La commande wait_for_ready renvoie le message suivant lorsque le processeur de messages est prêt à traiter les messages:

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

Désactiver/activer la joignabilité sur un routeur

Dans un environnement de production, un équilibreur de charge est généralement placé devant les routeurs de périphérie. Les équilibreurs de charge surveillent le port 15999 des routeurs pour s'assurer que la route est disponible.

Configurez l'équilibreur de charge pour qu'il effectue une vérification de l'état HTTP ou TCP sur le routeur à l'aide de l'URL suivante:

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

Cette URL renvoie un code de réponse HTTP 200 si le routeur est accessible.

Pour rendre un routeur inaccessible, vous pouvez bloquer le port 15999 du routeur. Si l'équilibreur de charge ne peut pas accéder au routeur sur le port 15999, il ne transfère plus les requêtes au routeur. Par exemple, vous pouvez bloquer le port en utilisant la commande iptables suivante sur le nœud de routeur:

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

Pour rendre le routeur disponible ultérieurement, videz iptables:

> sudo iptables -F

Vous utilisez peut-être iptables pour gérer d'autres ports sur le nœud. Vous devez donc en tenir compte lorsque vous videz des iptables ou que vous l'utilisez pour bloquer le port 15999. Si vous utilisez iptables pour d'autres règles, vous pouvez utiliser l'option -D pour annuler la modification spécifique:

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

Vérifier l'état du routeur ou du processeur de messages

Pour obtenir l'état d'un routeur, envoyez une requête au port 8081 du routeur:

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

Si le routeur est opérationnel, la requête renvoie "true" dans la réponse et le code HTTP 200. Notez que cet appel ne vérifie que si le routeur est opérationnel. Le contrôle de l'accessibilité du routeur à partir d'un équilibreur de charge est déterminé par le port 15999.

Pour obtenir l'état d'un processeur de messages:

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