Como informo o HAProxy que meu servidor está fazendo backup?

1

Sou um pouco novato em HAProxy - tenho três contêineres docker, um executando o HAProxy com a seguinte configuração:

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  

Os outros dois servidores estão executando um webapp usando o Tomcat.

Eu reduzi meus dois servidores com sudo docker stop myservA myservB e, embora eu os tenha iniciado e possa se conectar a eles por meio de suas portas expostas, eles são mostrados como HAProxy em L4TOUT em 2000ms.

Alguma pista de por que eles não apareceriam como disponíveis?

editar :

Se eu correr

$ sudo docker stop haprox && sudo docker start haprox

(haprox é o nome do meu container HAProxy), então meus servidores estão disponíveis novamente ...

    
por Wayne Werner 22.12.2014 / 22:02

1 resposta

1

Eu estava prestes a perguntar se o valor das variáveis de endereço estava mudando, heh.

A maneira como tenho visto isso em ambientes com contêiner dinâmico é usar uma ferramenta de descoberta de serviço como o etcd ou o Consul para ajudar o balanceador de carga a localizar os back-ends - parece Consul tem uma ferramenta especificamente para o caso de uso do HAProxy.

    
por 22.12.2014 / 22:50