Como marcar o servidor Haproxy inicialmente para baixo

1

Eu tenho um haproxy.cfg que é atualizado dinamicamente quando novos servidores são adicionados, no entanto, no momento em que um novo servidor é adicionado, o servidor ainda pode estar chegando. (Servidores não são inicialmente saudáveis). Devido a isso, recebo alguns erros 50x quando novos servidores são introduzidos.

Eu tenho pouco controle sobre esse tempo, mas tenho algum controle sobre os parâmetros que são definidos no servidor e no back-end.

Existe uma maneira de definir params em um servidor ou back-end para que um novo servidor não aceite tráfego até que ele esteja íntegro?

Este é um exemplo dos meus backends atuais:

backend my_backend
  balance roundrobin
  mode http
  option  httpchk GET /actuator/health
  timeout check 5s
  server 10_48_111_20_31623 10.48.111.20:31623 check inter 10s fall 4
  server 10_48_111_55_31430 10.48.111.55:31430 check inter 10s fall 4
  server 10_48_111_55_31479 10.48.111.55:31479 check inter 10s fall 4 
    
por Steve Campbell 22.02.2017 / 15:44

3 respostas

1

A melhor maneira de conseguir isso é através do socket admin do haproxy. Quando a nova configuração é recarregada, você pode enviar o comando haproxy para marcar o servidor como offline. Consulte o link para obter mais informações sobre como usar o soquete de administrador.

    
por 22.02.2017 / 16:05
1

Acho que uma solução possível é verificar uma página / cadeia de caracteres específica que só é colocada quando o servidor é concluído e totalmente funcional. Por exemplo:

backend webservers
option httpchk GET /keepalive.html HTTP/1.1\r\nHost:\ www.checkvhost.com
http-check expect string Checkstring
server web1 web1:80 check cookie web1
    
por 22.02.2017 / 16:10
1

Existem pelo menos duas opções:

  1. Atrase a adição do servidor até que esteja totalmente funcionando. Se isso não estiver disponível, você pode tentar a opção 2.
  2. Adicione o servidor como servidor de backup. Portanto, ele não será contatado (a menos que todos os outros servidores estejam inativos). Quando tiver certeza de que o servidor está ativo e em execução, você poderá remover o sinalizador de backup e recarregar a configuração.
por 22.02.2017 / 16:12

Tags