HAProxy usa urls na configuração do servidor?

1

Agora, minha configuração é assim:

server node1 10.20.x.y:80 check
server node2 10.20.x.y:80 check
server node3 10.20.x.y:80 check

Qual seria a melhor maneira de usar o URLS aqui em vez de IPs?

Algo parecido (mas isso não parece funcionar):

server node1 url-1.google.com:80 check
server node2 url-2.google.com:80 check
server node3 url-3.google.com:80 check
    
por SnIpY 02.05.2018 / 08:59

1 resposta

2

Quando você quiser usar nomes de host em vez de endereços IP, isso é chamado de resolução DNS no jargão HAproxy. Você precisará especificar um "resolvedor" seção onde você configura o DNS. Por exemplo:

resolvers mydns
  nameserver dns1 10.0.0.1:53
  nameserver dns2 10.0.0.2:53
  resolve_retries       3
  timeout resolve       1s
  timeout retry         1s
  hold other           30s
  hold refused         30s
  hold nx              30s
  hold timeout         30s
  hold valid           10s
  hold obsolete        30s

Em seguida, você precisa especificar um parâmetro resolvers em cada linha de servidor em que o DNS   resolução é necessária.

server s1 app1.example.com:80 resolvers mydns resolve-prefer ipv6

Crédito extra Em vez de enumerar cada nó na sua configuração, você também pode usar um registro DNS round-robin em sua URL. Isso significa que você também pode reduzir as alterações de configuração necessárias ao adicionar / remover nós do seu cluster a apenas alterar o registro DNS.

Um registro DNS seria assim:

app1.example.com. IN A 192.0.2.1 
app1.example.com. IN A 192.0.2.2 
app1.example.com. IN A 192.0.2.3 
    
por 02.05.2018 / 09:14

Tags