Configure the VIP
[root@controller1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip="192.168.220.20" cidr_netmask="24" op monitor interval="30s"
Installing HAProxy On Controllers
[root@controller ~]# yum install haproxy httpd -y
Configuring HAProxy
[root@controller1 ~]# cp /etc/haproxy/haproxy.cfg{,.bak}
[root@controller1 ~]# diff /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
87,99d86
< listen stats
< bind 0.0.0.0:1080
< mode http
< option httplog
< log 127.0.0.1 local0 err
< maxconn 10
< stats refresh 30s
< stats uri /admin
< stats realm Haproxy\ Statistics
< stats auth admin:admin
< stats hide-version
< stats admin if TRUE
<
[root@controller1 ~]# scp /etc/haproxy/haproxy.cfg [email protected]:/etc/haproxy/haproxy.cfg
[root@controller1 ~]# scp /etc/haproxy/haproxy.cfg [email protected]:/etc/haproxy/haproxy.cfg
Allow Non-Local IP Binding
[root@controller ~]# echo "net.ipv4.ip_nonlocal_bind = 1" >>/etc/sysctl.conf
[root@controller ~]# sysctl -p
net.ipv4.ip_nonlocal_bind = 1
Add HAProxy To The Cluster
[root@controller1 ~]# pcs resource create lb-haproxy systemd:haproxy --clone
[root@controller1 ~]# pcs constraint order start vip then lb-haproxy-clone kind=Optional
Adding vip lb-haproxy-clone (kind: Optional) (Options: first-action=start then-action=start)
[root@controller1 ~]# pcs constraint colocation add lb-haproxy-clone with vip
Now, Take the Browser
http://192.168.220.20:1080/admin
username/password :
admin/admin
Add RabbitMQTo The HAProxy
[root@controller1 ~]# echo '#RabbitMQ
> listen RabbitMQ-Server
> bind controller:5673
> mode tcp
> balance roundrobin
> option tcpka
> timeout client 3h
> timeout server 3h
> option clitcpka
> server controller1 controller1:5672 check inter 5s rise 2 fall 3
> server controller2 controller2:5672 check inter 5s rise 2 fall 3
> server controller3 controller3:5672 check inter 5s rise 2 fall 3
>
> listen RabbitMQ-Web
> bind controller:15673
> mode tcp
> balance roundrobin
> option tcpka
> server controller1 controller1:15672 check inter 5s rise 2 fall 3
> server controller2 controller2:15672 check inter 5s rise 2 fall 3
> server controller3 controller3:15672 check inter 5s rise 2 fall 3
> '>>/etc/haproxy/haproxy.cfg
[[email protected] ~]#
[[email protected] ~]# systemctl restart haproxy.service