記事ディレクトリ
キープアライブ+ Haproxy + nginx
最初に、2つのnginxサーバーは、区別しやすいように異なるWebサイトにページを公開するように構成されています。
次に、Haproxはnginxの負荷分散を実行します。
最後に、keepalivedはHaproxyの高可用性を提供します。
前のブログは、Haproxyのnginxの負荷分散を完了しました。このブログは、主にHaproxyが高を達成するためのKeepalivedに関するものです。利用可能
Keepalived + Haproxy実験操作
1、haproxy-master 192.168.138.133
slave安装好haproxy后
[root@haproxy-master ~]# \scp /etc/haproxy/haproxy.cfg 192.168.138.131:/etc/haproxy/haproxy.cfg
[root@haproxy-master ~]# vim /etc/keepalived/keepalived.conf
! 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 ~]# systemctl start keepalived
[root@haproxy-master ~]# ip a
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 ~]# yum -y install haproxy
[root@haproxy-slave ~]# vim /etc/keepalived/keepalived.conf
! 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 ~]# systemctl start keepalived
3.ブラウザアクセス検証、キープアライブヘッドショット検証
VIPアクセスが通常の
ヘッドショット検証であることを確認します
4.スケジューラーHaproxyの状態を確認します
[root@haproxy-master ~]# cat /etc/keepalived/check_haproxy.sh
#!/bin/bash
curl -I http://localhost &>/dev/null
if [ $? -ne 0 ];then
systemctl stop keepalived
fi
[root@haproxy-master ~]# vim /etc/keepalived/keepalived.conf
! 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
}
}