keepalived+haproxy 配置安装

本文详细介绍了如何使用Keepalived和HAProxy搭建高可用的服务集群。包括环境准备、软件安装、配置文件详解及服务启动测试等步骤。

1 环境介绍
1.1 keepalived的主从
master: 10.50.85.26
slave: 10.50.85.56
1.2 keepavlied的VIP和端口
10.50.85.200:10051
注意:keepavlied的VIP必须是和mater和slave是同一网段的
1.3 代理的两台主机的10050端口
10.50.85.26:10050
10.50.85.56:10050
2 在两台主机上分别按照haproxy和keeepalived
yum -y install keepalived haproxy
2.1 在mster上配置keepalive的和haproxy
2.1.1 keepalived配置
keepalived的配置文件路径:/etc/keepalived/
注意:不使用默认配置
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {br/>admin@centos.bz
}
notification_email_from keepalived@domain.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_script chk_http_port {
script "/etc/keepalived/check.sh"
interval 2
weight 2
}

vrrp_instance VI_1 {
state MASTER
interface br0
virtual_router_id 200
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}

track_script {
chk_http_port
}

virtual_ipaddress {
10.50.85.200 dev br0 label br0:0
}
}
2.1.1.1 vrrp_script chk_http_port 配置部分是检测的脚本,用于判断后端端口是否存活,如果不存活的话,杀掉haproxy,并停掉keepalived,使服务能切换到正常的slave上。/etc/keepalived/check.sh脚本内容如下
#! /usr/bin/env bash

/usr/bin/pkill -0 -f haproxy

if [ $? -ne 0 ];then
service start haproxy
sleep 3
fi

/usr/bin/pkill -0 -f haproxy

if [ $? -ne 0 ];then
service stop keepalived
fi
2.1.1.2 vrrp_instance VI_1配置部分
vrrp_instance VI_1 是在vrrp中的id
state MASTER 当前主机的是地位(是master或者slave)
interface br0 vip绑定的物理接口
priority 100 在主从之间的优先级(数字越大,优先级越高)
2.1.1.3 virtual_ipaddress 配置部分
10.50.85.200 dev br0 label br0:0 实际绑定的vip
2.1.2 haproxy的配置
haproxy配置文件的路径:/etc/haproxy/
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
maxconn 65536
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon

defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 65536
timeout connect 70000
timeout client 70000
timeout server 70000

listen admin_stats 10.50.85.26:48800
stats uri /admin-status
stats auth admin:admin
mode http
option httplog

listen mtmycat 10.50.85.200:10051
mode tcp
balance roundrobin
server host85-56 10.50.85.56:10050 check port 9158 inter 5s rise 2 fall 3
server host85-26 10.50.85.26:10050 check port 9158 inter 5s rise 2 fall 3
2.1.2.1 global和default是全局配置部分
2.1.2.2 listen admin_stats 是监控界面,便于查看haproxy状态
mode 是tcp层的负载
balance 是负载的模式,上面是平均负载
server 是后端服务的相关信息
2.2 在slave上配置keepalive的和haproxy
2.2.1 keepalived的配置
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {br/>admin@centos.bz
}
notification_email_from keepalived@domain.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_script chk_http_port {
script "/etc/keepalived/check.sh"
interval 2
weight 2
}

vrrp_instance VI_2 {
state BACKUP
interface br0
virtual_router_id 200
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}

track_script {
chk_http_port
}

virtual_ipaddress {
10.50.85.200 dev br0 label br0:0
}
}
2.2.2 haprox的配置
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
maxconn 65536
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon

defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 65536
timeout connect 70000
timeout client 70000
timeout server 70000

listen admin_stats 10.50.85.56:48800
stats uri /admin-status
stats auth admin:admin
mode http
option httplog

listen mtmycat 10.50.85.200:10051
mode tcp
balance roundrobin
server host85-56 10.50.85.56:10050 check port 10050 inter 5s rise 2 fall 3
server host85-26 10.50.85.26:10050 check port 10050 inter 5s rise 2 fall 3
3 启动两个主机上的keepavlied和haproxy服务,进行测试
ping 10.50.85.200是通的,telnet 10.50.85.200 10051端口也是通的

转载于:https://blog.51cto.com/focuslinux/2044038

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值