我正在尝试使用以下配置启动Haproxy负载均衡器:
global
log 127.0.0.1 local0
log 127.0.0.1 local0 notice
resolvers docker
nameserver dnsmasq 1.2.3.4:53
defaults
mode http
log global
option httplog
option dontlognull
frontend ft_radix_real
bind *:61616
maxconn 6000
acl is_websocket hdr(Upgrade) -i WebSocket
acl is_websocket hdr_beg(Host) -i ws
use_backend bk_radix_real if is_websocket
backend bk_radix_real
balance roundrobin
option forwardfor
server radix-real-1 1.2.3.4:1884 check resolvers docker resolve-prefer ipv4
server radix-real-2 1.2.3.4:1884 check resolvers docker resolve-prefer ipv4
server radix-real-3 1.2.3.4:1884 check resolvers docker resolve-prefer ipv4
server radix-real-4 1.2.3.4:1884 check resolvers docker resolve-prefer ipv4
listen stats
mode http
option httplog
option dontlognull
bind *:1936
stats enable
stats scope ft_radix_real
stats scope bk_radix_real
stats uri /
stats realm Haproxy\ Statistics
stats auth admin:admin
当所有后端服务器都启动时,此配置有效。但是,即使某些(并非所有)后端服务器没有运行,我也希望能够启动Haproxy。我检查了配置文档但找不到解决方案。有可能吗?
答案 0 :(得分:0)
我没有看到任何问题,检查就在那里。将检查服务器,将标记死亡的服务器,只有剩余的有效服务器将处理流量。您可能需要描述您正在面对的问题类型。
答案 1 :(得分:0)
从1.7开始,您可以启动HAproxy而无需在启动时解析所有主机:
defaults
# never fail on address resolution
default-server init-addr none
https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#init-addr