haproxy 后端配置使用一个主机名和多个 IP 地址

问题描述 投票:0回答:2

我正在使用以下配置片段

backend test_http_back
   balance roundrobin
   server some_hostname host.somesite.com:8080 check

host.somesite.com 在 DNS 中有两个 IP 地址

理想情况下我会放

backend test_http_back
   balance roundrobin
   server host_A u.x.y.z:8080 check    
   server host_A a.b.c.d:8080 check

但是 IP 地址不是静态的,这引发了第二个问题,主机名是否仅在加载配置时才解析?这并不是什么大问题,因为我可以控制 IP 何时更改并可以重新加载 haproxy 的配置。每次 IP 更改时都必须更改配置文件,这会带来更大的问题。

提前致谢

backend haproxy hostname
2个回答
0
投票

我也有类似的情况,并且对 HAProxy 有点陌生,不熟悉配置后端来管理它的“正确方法”。 根据有限的经验,我们目睹的行为是 HAProxy 在启动时解析后端服务器主机名,从 DNS 服务器中选择列表中第一个 IP 地址。 在我们的例子中,主机名解析为三个 IP 地址,其中之一是“坏”的。 如果 HAProxy 在启动时恰好选择了“坏”IP,则前端点击会返回 503/NOSRV 错误,并且 HAProxy 不会尝试重新解析主机名或尝试之前收到的其他 IP 之一建立成功的后端连接。 在这种情况下,我们唯一的解决方法是重新加载(或重新启动)HAProxy 服务,以便有希望获得“工作”IP 地址。

我希望后端有一个可用的配置设置可以自动管理这种情况?


0
投票

我是这样解决这个问题的:

backend mssql mode tcp option tcp-check server mssql mssql-server:1433 check resolvers my-resolvers server mssql1 mssql-server:1433 check resolvers my-resolvers

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.