文章目录
Keepalived + Haproxy + nginxKeepalived + Haproxy实验操作1、haproxy-master 192.168.138.1332、haproxy-slave 192.168.138.1313、浏览器访问验证,keepalived爆头验证4、对调度器Haproxy做健康检查
Keepalived + Haproxy + nginx
先是两台nginx服务器配置不同网站发布页面,便于区分 然后Haprox给nginx做负载均衡 最后keepalived给Haproxy做高可用 上一篇博客已经完成Haproxy给nginx做负载均衡,这一片博客主要是Keepalived给Haproxy实现高可用
Keepalived + Haproxy实验操作
1、haproxy-master 192.168.138.133
slave安装好haproxy后
[root@haproxy-master ~
]
[root@haproxy-master ~
]
! Configuration File
for keepalived
global_defs
{
router_id director1
}
vrrp_instance VI_1
{
state MASTER
interface ens33
virtual_router_id 80
priority 100
advert_int 1
authentication
{
auth_type PASS
auth_pass 1111
}
virtual_ipaddress
{
192.168.138.200/24
}
}
[root@haproxy-master ~
]
[root@haproxy-master ~
]
1: lo:
<LOOPBACK,UP,LOWER_UP
> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33:
<BROADCAST,MULTICAST,UP,LOWER_UP
> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:e7:33:2b brd ff:ff:ff:ff:ff:ff
inet 192.168.138.133/24 brd 192.168.138.255 scope global dynamic ens33
valid_lft 1244sec preferred_lft 1244sec
inet 192.168.138.200/24 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee7:332b/64 scope
link
valid_lft forever preferred_lft forever
2、haproxy-slave 192.168.138.131
[root@haproxy-slave ~
]
[root@haproxy-slave ~
]
! Configuration File
for keepalived
global_defs
{
router_id directory2
}
vrrp_instance VI_1
{
state BACKUP
interface ens33
nopreempt
virtual_router_id 80
priority 50
advert_int 1
authentication
{
auth_type PASS
auth_pass 1111
}
virtual_ipaddress
{
192.168.138.200/24
}
}
[root@haproxy-slave ~
]
3、浏览器访问验证,keepalived爆头验证
验证vip访问是否正常 爆头验证
4、对调度器Haproxy做健康检查
[root@haproxy-master ~
]
curl -I http://localhost
&>/dev/null
if [ $? -ne 0
];then
systemctl stop keepalived
fi
[root@haproxy-master ~
]
! Configuration File
for keepalived
global_defs
{
router_id director1
}
vrrp_script check_haproxy
{
script
"/etc/keepalived/check_haproxy.sh"
interval 5
}
vrrp_instance VI_1
{
state MASTER
interface ens33
virtual_router_id 80
priority 100
advert_int 1
authentication
{
auth_type PASS
auth_pass 1111
}
virtual_ipaddress
{
192.168.138.200/24
}
track_script
{
check_haproxy
}
}