admin管理员组文章数量:1027651
代理服务器
我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:Squid,Haproxy,LVS,FRP(内网穿透)。
前面我们介绍了几种代理软件,虽然都能实现负载均衡,而且LVS本身还不具备健康检查的能力(也就是后端挂了他还会往里面转发请求)。但是他们自己并不是高可用的,也就是如果这个部署代理软件的机器宕机以后,服务也就不可以用。
我们在前面Kubernetes里面已经使用Keepalived来提供VIP的功能,这个对于有健康检查的软件比如HAPorxy和Nginx可以参考前面的文章来实现高可用的。也就是下面代码部分前半截。
本小节我们讲使用LVS+keepalived来实现负载均衡+高可用。在keepalive这个软件里面实际有多种模式,这里我们就以简单的主备模式来讲解,后面单独出一个小节来介绍这个模式。
2个服务器都已经安装ipvs,加载ip_vs内核模块,和开启转发功能。
master
代码语言:javascript代码运行次数:0运行复制vrrp_instance VI_1 {
state MASTER # 主节点设置为 MASTER
interface eth0 # 绑定网卡(根据实际网卡名修改)
virtual_router_id 51 # 虚拟路由 ID(同一集群需一致)
priority 100 # 优先级(主节点高于备节点)
advert_int 1 # VRRP 心跳间隔(秒)
authentication { # 认证配置
auth_type PASS
auth_pass 12345678 # 密码(主备需一致)
}
virtual_ipaddress { # 定义 VIP
192.168.31.134/24
}
}
#如果只定义上面部分,则keepalived 只会配置这个vip到网卡上
#下面的配置则是他可以操作ipvs命令,进行规则的增加和删除
virtual_server 192.168.31.134 80 { # 定义虚拟服务(VIP 和端口)
delay_loop 6 # 健康检查间隔(秒)
lb_algo rr # 调度算法(轮询)
lb_kind DR # LVS 模式(DR)
protocol TCP # 协议类型
# 定义 Real Server
real_server 192.168.31.131 80 {
weight 1 # 权重
TCP_CHECK { # 健康检查方式(TCP 端口检查)
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 192.168.31.132 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
slave
代码语言:javascript代码运行次数:0运行复制global_defs {
router_id LVS_BACKUP # 标识备用节点(需与主节点不同)
}
# 定义 VRRP 实例(用于 VIP 故障切换)
vrrp_instance VI_1 {
state BACKUP # 角色为备节点
interface eth0 # 绑定网卡(根据实际网卡名修改)
virtual_router_id 51 # 虚拟路由 ID(必须与主节点一致)
priority 50 # 优先级(低于主节点)
advert_int 1 # 心跳间隔(秒)
# 认证配置(必须与主节点一致)
authentication {
auth_type PASS
auth_pass 12345678
}
# 定义虚拟 IP(VIP)
virtual_ipaddress {
192.168.31.134/24
}
}
# 定义 LVS 虚拟服务(需与主节点完全一致)
virtual_server 192.168.31.134 80 {
delay_loop 6 # 健康检查间隔(秒)
lb_algo rr # 调度算法(轮询)
lb_kind DR # LVS 模式(DR)
protocol TCP # 协议类型
# 真实服务器 1 配置
real_server 192.168.31.131 80 {
weight 1 # 权重
TCP_CHECK { # 健康检查方式(TCP 端口检查)
connect_timeout 3
retry 3
delay_before_retry 3
}
}
# 真实服务器 2 配置
real_server 192.168.31.132 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
这样配置以后,就不需要手工配置VIP,而是keepalived会根据权重自动配置VIP,当然会出现下面几种情况。
1.在都未启动keepalived情况下,谁先启动谁占用vip。
2.如果slave先启动,master后启动,master会抢占vip(包括宕机切换)。
3.如果master先启动,slave后启动,则master会一直持有vip,直到master故障。
这样配置以后,他还会检查后端,如果发现后端异常,则会摘除异常后端。这样VIP本身是高可用的,后端异常也能及时屏蔽。从架构上保证了高可用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-30,如有侵权请联系 cloudcommunity@tencent 删除代理服务器后端配置ampkeepalived代理服务器
我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:Squid,Haproxy,LVS,FRP(内网穿透)。
前面我们介绍了几种代理软件,虽然都能实现负载均衡,而且LVS本身还不具备健康检查的能力(也就是后端挂了他还会往里面转发请求)。但是他们自己并不是高可用的,也就是如果这个部署代理软件的机器宕机以后,服务也就不可以用。
我们在前面Kubernetes里面已经使用Keepalived来提供VIP的功能,这个对于有健康检查的软件比如HAPorxy和Nginx可以参考前面的文章来实现高可用的。也就是下面代码部分前半截。
本小节我们讲使用LVS+keepalived来实现负载均衡+高可用。在keepalive这个软件里面实际有多种模式,这里我们就以简单的主备模式来讲解,后面单独出一个小节来介绍这个模式。
2个服务器都已经安装ipvs,加载ip_vs内核模块,和开启转发功能。
master
代码语言:javascript代码运行次数:0运行复制vrrp_instance VI_1 {
state MASTER # 主节点设置为 MASTER
interface eth0 # 绑定网卡(根据实际网卡名修改)
virtual_router_id 51 # 虚拟路由 ID(同一集群需一致)
priority 100 # 优先级(主节点高于备节点)
advert_int 1 # VRRP 心跳间隔(秒)
authentication { # 认证配置
auth_type PASS
auth_pass 12345678 # 密码(主备需一致)
}
virtual_ipaddress { # 定义 VIP
192.168.31.134/24
}
}
#如果只定义上面部分,则keepalived 只会配置这个vip到网卡上
#下面的配置则是他可以操作ipvs命令,进行规则的增加和删除
virtual_server 192.168.31.134 80 { # 定义虚拟服务(VIP 和端口)
delay_loop 6 # 健康检查间隔(秒)
lb_algo rr # 调度算法(轮询)
lb_kind DR # LVS 模式(DR)
protocol TCP # 协议类型
# 定义 Real Server
real_server 192.168.31.131 80 {
weight 1 # 权重
TCP_CHECK { # 健康检查方式(TCP 端口检查)
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 192.168.31.132 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
slave
代码语言:javascript代码运行次数:0运行复制global_defs {
router_id LVS_BACKUP # 标识备用节点(需与主节点不同)
}
# 定义 VRRP 实例(用于 VIP 故障切换)
vrrp_instance VI_1 {
state BACKUP # 角色为备节点
interface eth0 # 绑定网卡(根据实际网卡名修改)
virtual_router_id 51 # 虚拟路由 ID(必须与主节点一致)
priority 50 # 优先级(低于主节点)
advert_int 1 # 心跳间隔(秒)
# 认证配置(必须与主节点一致)
authentication {
auth_type PASS
auth_pass 12345678
}
# 定义虚拟 IP(VIP)
virtual_ipaddress {
192.168.31.134/24
}
}
# 定义 LVS 虚拟服务(需与主节点完全一致)
virtual_server 192.168.31.134 80 {
delay_loop 6 # 健康检查间隔(秒)
lb_algo rr # 调度算法(轮询)
lb_kind DR # LVS 模式(DR)
protocol TCP # 协议类型
# 真实服务器 1 配置
real_server 192.168.31.131 80 {
weight 1 # 权重
TCP_CHECK { # 健康检查方式(TCP 端口检查)
connect_timeout 3
retry 3
delay_before_retry 3
}
}
# 真实服务器 2 配置
real_server 192.168.31.132 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
这样配置以后,就不需要手工配置VIP,而是keepalived会根据权重自动配置VIP,当然会出现下面几种情况。
1.在都未启动keepalived情况下,谁先启动谁占用vip。
2.如果slave先启动,master后启动,master会抢占vip(包括宕机切换)。
3.如果master先启动,slave后启动,则master会一直持有vip,直到master故障。
这样配置以后,他还会检查后端,如果发现后端异常,则会摘除异常后端。这样VIP本身是高可用的,后端异常也能及时屏蔽。从架构上保证了高可用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-30,如有侵权请联系 cloudcommunity@tencent 删除代理服务器后端配置ampkeepalived本文标签: 代理服务器
版权声明:本文标题:代理服务器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747419956a2165471.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论