我正在尝试运行 HAProxy。我已将 puppet master 设置用于为两个代理提供配置。一个是 HAproxy 服务器,另一个是简单的 Web 服务器 (certname=webserver2)。HAproxy 正在由 puppet 按照预期部署到代理服务器上,但生成的 HAProxy 配置让我无法理解。我没有看到任何关于应将流量转发到的 webserver2 的 IP 地址的引用。haproxy 配置中包含的所有 IP 都是 HAProxy 服务器本身的 IP。
我可能误解了某些事情,或者遗漏了应该做的事情。请帮我解决这个问题。我的目标是平衡(循环)两台服务器 webserver1 和 webserver2 的流量
这是我的 Puppet Master site.pp:
node /^haproxy.*/ {
Haproxy::Balancermember <<| listening_service == 'puppet00' |>>
class { 'haproxy': }
haproxy::listen { 'puppet00':
ipaddress => $::ipaddress,
ports => ['55672','5672'], }
}
node 'webserver2' {
@@haproxy::balancermember {
$fqdn: listening_service => 'puppet00',
server_names => $::hostname,
ipaddresses => $::ipaddress,
ports => ['55672','5672'],
options => 'check'
}
}
这是生成的 haproxy.cfg:
global
chroot /var/lib/haproxy
daemon
group haproxy
log 10.28.92.145 local0
maxconn 4000
pidfile /var/run/haproxy.pid
stats socket /var/lib/haproxy/stats
user haproxy
defaults
log global
maxconn 8000
option redispatch
retries 3
stats enable
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout check 10s
listen puppet00 10.28.92.145:55672,10.28.92.145:5672
balance roundrobin
option tcplog
option ssl-hello-chk