appside
appside copied to clipboard
Add support for haproxyctl
This version of haproxyctl http://packages.ubuntu.com/xenial/all/haproxyctl/download, from Ubuntu Xenial, can be installed without issues on Trusty:
haproxyctl show info
Name: HAProxy
Version: 1.6.11-1ppa1~trusty
Release_date: 2016/12/27
Nbproc: 1
Process_num: 1
Pid: 13539
Uptime: 0d 0h06m13s
Uptime_sec: 373
Memmax_MB: 0
Ulimit-n: 4033
Maxsock: 4033
Maxconn: 2000
...
haproxyctl allows us to easily add/remove servers on the fly from cli, another approach would be:
echo "show info" | nc -U /var/run/haproxy/admin.sock | head -10
Name: HAProxy
Version: 1.6.11-1ppa1~trusty
...
# active or backup DOWN for maintenance (MAINT)
echo "disable server www-backend/localhost" | nc -U /var/run/haproxy/admin.sock
echo "enable server www-backend/localhost" | nc -U /var/run/haproxy/admin.sock
# maintenance page for all, except 192.168.80.1 and 10.0.0.100
echo "add acl #6 0.0.0.0/0" | nc -U /var/run/haproxy/admin.sock
echo "add acl #7 192.168.80.1" | nc -U /var/run/haproxy/admin.sock
echo "add acl #7 10.0.0.100" | nc -U /var/run/haproxy/admin.sock
# disable maintenance page again
echo "del acl #7 10.0.0.100" | nc -U /var/run/haproxy/admin.sock
echo "del acl #7 192.168.80.1" | nc -U /var/run/haproxy/admin.sock
echo "del acl #6 0.0.0.0/0" | nc -U /var/run/haproxy/admin.sock