50 votes

Comment supprimer un nœud équilibré de haproxy via la ligne de commande ?

J'utilise haproxy comme équilibreur de charge et, à partir de l'interface web de statistiques fournie avec haproxy, je peux mettre un serveur web en mode maintenance (et le remettre en service), ce qui est très bien !

Cependant, je souhaite également pouvoir effectuer cette même action à partir de la ligne de commande (pour l'utiliser dans certains flux de déploiement automatisés). Est-ce possible, et si oui, comment ?

Merci beaucoup

1voto

lainatnavi Points 148

Dans HAProxy 1.8, vous pouvez également utiliser set server state :

mettre le serveur en mode maintenance (ou vidange) :

echo "set server backend_name/sever_name state maint" | socat stdio /path_to_admin_socket_file
echo "set server backend_name/sever_name state drain" | socat stdio /path_to_admin_socket_file

remettre le serveur en mode prêt :

echo "set server backend_name/sever_name state ready" | socat stdio /path_to_admin_socket_file

0voto

wjenkins9 Points 1

Si vous avez debian, readline ne fonctionne pas, netcat est une meilleure option pour l'interactif :

user@server:/etc/haproxy$ sudo nc -U /etc/haproxy/haproxysock
prompt
> show info
Name: HAProxy
Version: 1.7.11-1ppa1~xenial
Release_date: 2018/04/30
Nbproc: 1
Process_num: 1
Pid: 12307
Uptime: 0d 10h33m22s
...

Non interactif :

echo "show info;show stat" | sudo nc -U /etc/haproxy/haproxysock

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X