CentOS7.9 Haproxy 2.2版本 L7安装及使用
作者:互联网
IUS is a yum repository that provides newer versions of select software for RHEL and CentOS.
它为CentOS按RHEL提供最新软件版本的yum源。
1.配置IUS yum源
vim /etc/yum.repos.d/ius-7.repo
[ius]
name = IUS for Enterprise Linux 7 - $basearch
baseurl = https://repo.ius.io/7/$basearch/
enabled = 1
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
[ius-debuginfo]
name = IUS for Enterprise Linux 7 - $basearch - Debug
baseurl = https://repo.ius.io/7/$basearch/debug/
enabled = 0
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
[ius-source]
name = IUS for Enterprise Linux 7 - Source
baseurl = https://repo.ius.io/7/src/
enabled = 0
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
2. 清理缓存:yum clean all
3. 更新缓存:yum makecache fast
4. 查看版本:yum list|grep haproxy
安装最新版本4 层负载均衡本质是转发,而 7 层负载本质是内容交换和代理 高性能高可用负载均衡软件Haproxy 很多人也将其称为代理。 1、Haproxy是什么? Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一。 它支持双机热备、虚拟主机、基于TCP和HTTP应用代理、具有图形界面等功能。 配置简单,拥有很好的对服务器节点的健康检查功能,当其代理的后端服务器出现故障时,Haproxy会自动将故障服务器摘除,当服务器故障恢复后,Haproxy会自动将该RS服务器加入。 2、适用场合 适用于那些访问量很大,但是又需要绘画爆出或者七层应用的业务。Haproxy运行在普通的硬件服务器上,仅仅进行简单的优化就可以支持数以万计的并发连接。而且他的运行模式使得他可以很简单安全的整合进各种网站的架构中,同时使得应用服务器不会暴露到网络上(实际上Haproxy用的是NAT的模式,那么他所代理的服务器不需要有外网IP,仅仅有内网IP即可) 3、其他功能 自Haproxy 1.3版本起,Haproxy软件引入了frontend、backend功能。 简单说 frontend:做规则匹配 backend:server pools等待前端将请求转发过来的服务器组 通过frontend和backend,我们可以很容易的实现haproxy的7层应用代理功能。 比nginx简单 缺点是他不能提供web服务,只是个代理功能。 4、Haproxy支持两种主要代理模式 1)4层TCP代理模式 例如:邮件服务、防火墙的代理(负载均衡)、MySQL服务等。 仅在客户端和服务器之间双向转发流量。 2)7层代理模式 例如:HTTP代理等 在该代理模式下,Haproxy会根据应用层协议的请求头,做相关的控制。
Haproxy负载均衡集群 实验环境: 1)L7 HA:192.168.31.6(用的默认1.5版本) web1:192.168.31.129 web2:192.168.31.90 web1(web2同) 50 hostnamectl set-hostname web1/2
51 yum install httpd -y
54 echo web1/2 > /var/www/html/index.html
57 systemctl start httpd
HA: 1.先实现一台HA负载均衡 ~]# yum install haproxy -y ]# vim /etc/haproxy/haproxy.cfg 后添加: #此处为web图形界面的配置: listen stats bind *:1314 #端口stats enable
stats refresh 30s
stats uri /haproxystats #url后缀
stats hide-version
stats realm Haproxy\ stats
stats auth up:123 #帐号:密码
stats admin if TRUE
#此处是负载均衡后端服务器的配置
listen web
mode http
bind *:80
balance roundrobin
server http1 192.168.31.129:80 maxconn 2000 weight 1 check
server http2 192.168.31.90:80 maxconn 2000 weight 1 check
访问web界面查看haproxy的情况 http://192.168.31.6:1314/haproxystats 账号:up 密码:123 查看HA是否成功:
Keepalived + Haproxy
架构: 其中虚拟IP地址在keepalived的配置文件中配置 当客户端访问vip时,如果HAM没有down掉,则正常访问HA,如果HAM服务器出现问题Down掉了,则keepalived切换HAB实现HA的正常功能 实现: 1.增加一台服务器HAB,将HAM配置文件复制到backup scp 192.168.31.6:/etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg 2.两台服务器都装keepalived: [root@master ~]# yum -y install keepalived root@backup ~]# yum -y install keepalived 3.配置master keepalived: global_defs {router_id haproxy1 #HA1
}
vrrp_instance VI_1 {
state MASTER #主备,主
interface enp0s3 #网卡
virtual_router_id 100 #主备保持一致
priority 100 #优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.31.230 #虚拟IP
}
}
4.配置backup keepalived: global_defs {router_id haproxy2
}
vrrp_instance VI_1 {
state BACKUP
interface enp0s3
virtual_router_id 100
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.31.230
}
}
重启keepalived,并设置开机自启,查看HA master的IP: keepalived如成功布置好,会显示vip: [root@ham ~]# systemctl start keepalived[root@master ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:85:13:94 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.6/24 brd 192.168.31.255 scope global noprefixroute dynamic enp0s3
valid_lft 42589sec preferred_lft 42589sec
inet 192.168.31.230/32 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::f9e8:5d71:e6e4:8965/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
inet6 fe80::aa2:b386:daae:3d7e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
验证:
当HA master服务器故障时,客户端访问vip不会出现异常,因为keepalived会自动切换到HA backup服务器,vip会出现在backup服务器上:
1.关停HA master:关机,或关闭网卡 2.查看HA backup IP: [root@backupkeepalived]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:0a:a4:c2 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.35/24 brd 192.168.31.255 scope global noprefixroute dynamic enp0s3
valid_lft 42483sec preferred_lft 42483sec
inet 192.168.31.230/32 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::f9e8:5d71:e6e4:8965/64 scope link noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::aa2:b386:daae:3d7e/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
3. 在浏览器模拟客户端访问vip地址查看是否切换成功标签:Haproxy,00,lft,forever,192.168,L7,yum,CentOS7.9 来源: https://www.cnblogs.com/5444de/p/14167289.html