# 在两个ka1和ka2先实现haproxy的配置
[root@ka1 ~]# cat /etc/haproxy/haproxy.cfg
listen http
bind 192.168.1.55:80
server web1 192.168.1.51:80 check
server web2 192.168.1.52:80 check
listen stats
mode http
bind 192.168.1.61:9999
stats enable
log global
stats uri /haproxy-status
stats auth haadmin:123456
[root@ka1 ~]# cat /etc/haproxy/haproxy.cfg
listen http
bind 192.168.1.55:80
server web1 192.168.1.51:80 check
server web2 192.168.1.52:80 check
listen stats
mode http
bind 192.168.1.62:9999
stats enable
log global
stats uri /haproxy-status
stats auth haadmin:123456
# 在两个ka1和ka2两个节点启用内核参数
[root@ka1 ~]# cat /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
[root@ka1 ~]# sysctl -p
net.ipv4.ip_nonlocal_bind = 1
[root@ka2 ~]# cat /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
[root@ka2 ~]# sysctl -p
net.ipv4.ip_nonlocal_bind = 1
# 启动haproxy
[root@ka1 ~]# systemctl enable --now haproxy.service
[root@ka2 ~]# systemctl enable --now haproxy.service
# 创建脚本
[root@ka2 ~]# vim /etc/keepalived/check_haproxy.sh
#!/bin/bash
/usr/bin/killall -0 haproxy || systemctl restart haproxy
[root@ka1 ~]# chmod a+x /etc/keepalived/check_haproxy.sh
[root@ka2 ~]# vim /etc/keepalived/check_haproxy.sh
#!/bin/bash
/usr/bin/killall -0 haproxy || systemctl restart haproxy
[root@ka2 ~]# chmod a+x /etc/keepalived/check_haproxy.sh
# 配置keepalived
[root@ka1 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from kaadmin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id ka1
vrrp_mcast_group4 224.0.100.100
}
vrrp_script check_haproxy {
script "/etc/keepalived/check_haproxy.sh"
interval 1
weight -30
fall 3
rise 5
timeout 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 66
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.55/24 dev eth0 label eth0:1
}
track_interface {
eth0
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
track_script {
check_haproxy
}
}
[root@ka2 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from kaadmin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id ka2
vrrp_mcast_group4 224.0.100.100
}
vrrp_script check_proxy {
script "/etc/keepalived/check_proxy.sh"
interval 1
weight -30
fall 3
rise 5
timeout 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 66
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.55/24 dev eth0 label eth0:1
}
track_interface {
eth0
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
track_script {
check_haproxy
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END