centos7 haproxy 加keepalived 实现后端应用udp73端口负载均衡高可用的配置
时间: 2023-10-24 17:06:43 浏览: 183
以下是 CentOS 7 上实现 HAProxy 和 Keepalived 高可用负载均衡的配置过程:
1. 安装 HAProxy 和 Keepalived
在 CentOS 7 上可以使用 yum 命令来安装 HAProxy 和 Keepalived:
```
yum install haproxy keepalived -y
```
2. 配置 HAProxy
编辑 HAProxy 配置文件 /etc/haproxy/haproxy.cfg,添加如下配置:
```
frontend udp73
bind *:73
default_backend backend_udp73
backend backend_udp73
balance roundrobin
mode udp
server server1 IP1:73 check
server server2 IP2:73 check
```
其中,frontend udp73 部分是定义了一个名为 udp73 的前端,绑定了 UDP 73 端口,并将请求转发到 backend_udp73 后端;backend_udp73 部分定义了一个名为 backend_udp73 的后端,使用 roundrobin 算法进行负载均衡,使用 UDP 协议,同时配置了两个服务器节点的 IP 地址和端口号。
3. 配置 Keepalived
编辑 Keepalived 配置文件 /etc/keepalived/keepalived.conf,添加如下配置:
```
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100/24 dev eth0
}
}
virtual_server 192.168.1.100 73 {
delay_loop 6
lb_algo rr
lb_kind NAT
protocol UDP
real_server IP1 73 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server IP2 73 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
```
其中,global_defs 部分定义了 Keepalived 路由器 ID;vrrp_instance 部分定义了一个名为 VI_1 的实例,配置了 MASTER 状态、使用 eth0 网卡、虚拟路由器 ID 为 51、优先级为 101、认证密码为 1111、虚拟 IP 地址为 192.168.1.100/24;virtual_server 部分定义了一个名为 192.168.1.100:73 的虚拟服务器,使用 roundrobin 算法进行负载均衡,使用 NAT 模式,协议为 UDP,配置了两个服务器节点的 IP 地址和端口号。
4. 启动 HAProxy 和 Keepalived 服务
启动 HAProxy 和 Keepalived 服务,并将它们设置为开机自启动:
```
systemctl start haproxy
systemctl start keepalived
systemctl enable haproxy
systemctl enable keepalived
```
5. 测试负载均衡和高可用
使用 netcat 命令测试负载均衡和高可用,如下所示:
```
nc -u 192.168.1.100 73
```
如果配置正确,在两个服务器节点上都应该能够收到请求。同时,当其中一个节点出现故障时,另一个节点会接管服务,并继续提供服务。
阅读全文