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

Edge pour Private Cloud version 4.17.01

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

Par exemple, pour mettre à niveau un processeur de messages, vous pouvez suivre la procédure suivante:

  1. Désactivez la connectivité sur le processeur de messages.
  2. Mettez à niveau le processeur de messages.
  3. Activer la maniabilité sur le processeur de messages.

Désactivation/Activation de la connectivité sur un processeur de messages

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

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

Le processeur de messages 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 connectivité sur un routeur

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

Configurez l'équilibreur de charge pour effectuer une vérification d'é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 sur le routeur. Si l'équilibreur de charge ne parvient pas à accéder au routeur sur le port 15999, il ne transfère plus les requêtes vers le routeur. Par exemple, vous pouvez bloquer le port à l'aide de la commande iptables suivante sur le nœud du 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 iptables ou utilisez iptables 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 HTTP 200. Notez que cet appel ne vérifie que si le routeur est opérationnel. Le contrôle de la connectivité 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