Как мне сообщить HAProxy о резервном копировании моего сервера?
Я немного новичок в HAProxy - у меня есть 3 док-контейнера, один из которых работает с HAProxy со следующей конфигурацией:
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
stats socket /var/run/haproxy.sock mode 600 level admin
# daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
balance source
listen stats :80
stats enable
stats uri /haproxy?stats
stats realm Strictly\ Private
stats auth test:test1234
balance roundrobin
#option forwardfor
default_backend myserv-legacy
backend myserv-legacy
cookie SERVERID insert indirect preserve
server myserv-A ${MYSERVA_PORT_8080_TCP_ADDR}:8080 cookie A check
server myserv-B ${MYSERVB_PORT_8080_TCP_ADDR}:8080 cookie B check
На двух других серверах запущено веб-приложение с использованием Tomcat.
Я сбил два сервера с sudo docker stop myservA myservB
и хотя я запустил их и могу подключиться к ним через открытые порты, они оба отображаются как отключенные в HAProxy с L4TOUT
в 2000мс.
Любая подсказка, почему они не будут отображаться как доступные?
редактировать:
Если я бегу
$ sudo docker stop haprox && sudo docker start haprox
(haprox - это имя моего контейнера HAProxy), тогда мои серверы снова доступны...
1 ответ
Я как раз собирался спросить, менялось ли значение переменных адреса, хе.
Я видел, как это делается в динамических загрязненных средах, - это использование инструмента обнаружения сервисов, такого как etcd или Consul, чтобы помочь балансировщику нагрузки найти бэкэнды - похоже, у Consul есть инструмент, специально предназначенный для случая использования HAProxy.