当前位置: 首页 > news >正文

KeepAlived+Haproxy实现负载均衡(SLB)

背景

公司一个项目中客户现场没有云平台,应用的高可用需要使用KeepAlived+Haroxy来实现,记录一下步骤。

资源配置

服务器 2台: 172.18.7.13、172.18.8.14
操作系统: OpenEuler 24.03 LTS
VIP1: 172.18.7.81 (结构化服务入口)
VIP2: 172.18.7.21 (非结构化服务入口)

部署架构图

在这里插入图片描述

部署步骤

  1. 两台服务器上都安装keepalived 和haproxy
yum install -y keepalived haproxy
  1. 修改两台服务器的系统配置,允许tcp监听未知的IP地址
echo 'net.ipv4.ip_nonlocal_bind=1' >> /etc/sysctl.conf
sysctl -p
  1. 配置keepalived并启动服务
vi /etc/keepalived/keepalived.conf

文件内容

vrrp_script chk_nginx {script "/etc/keepalived/check_nginx.sh"interval 1weight -20fall 2rise 2
}vrrp_instance VI_1 {state BACKUP #另外一个服务配置为Master interface  bond1virtual_router_id 51priority 90 #另外一个服务器配置优先级为100advert_int 1authentication {auth_type PASSauth_pass keepalived}virtual_ipaddress {172.18.7.81}track_script {chk_nginx}
}
vrrp_instance VI_2 {state MASTER #另外一个服务器为BACKUPinterface  bond1virtual_router_id 61priority 100 #另外一个服务器为90advert_int 1authentication {auth_type PASSauth_pass keepalived}virtual_ipaddress {172.18.7.21}
}
systemctl enable keepalvied && systemctl start keepalived
  1. 配置haproxy并启动服务
vi /etc/haproxy/haproxy.cfg

文件内容

globallog         127.0.0.1 local2chroot      /var/lib/haproxypidfile     /var/run/haproxy.piduser        haproxygroup       haproxydaemonmaxconn     40000defaultsmode                    httplog                     globaloption                  httplogoption                  dontlognullretries                 3timeout http-request    50stimeout queue           1mtimeout connect         50stimeout client          1mtimeout server          1mtimeout http-keep-alive 50stimeout check           50smaxconn                 30000frontend httpbind 172.18.7.81:80default_backend         http_backbackend http_backbalance     roundrobinserver  node1 172.18.7.1:30080 checkserver  node2 172.18.7.2:30080 checkserver  node3 172.18.7.3:30080 checkserver  node4 172.18.7.4:30080 checkserver  node5 172.18.7.5:30080 check
frontend httpsbind 172.18.7.81:443default_backend         https_backbackend https_backbalance     roundrobinserver  node1 172.18.7.1:30443 checkserver  node2 172.18.7.2:30443 checkserver  node3 172.18.7.3:30443 checkserver  node4 172.18.7.4:30443 checkserver  node5 172.18.7.5:30443 check
frontend obsbind 172.18.7.21:80default_backend         obs_backbackend obs_backbalance     roundrobinserver  node1 172.18.7.17:80 checkserver  node2 172.18.7.18:80 checkserver  node3 172.18.7.19:80 checkserver  node4 172.18.7.20:80 check
systemctl enable haproxy && systemctl start haproxy
  1. 验证VIP与服务端口
#登录任何一台服务器
netstat -tulpn|grep -E "80|443"

示例输出
在这里插入图片描述

http://www.xdnf.cn/news/1362889.html

相关文章:

  • 集成电路学习:什么是Caffe深度学习框架
  • 聊聊负载均衡架构
  • OpenGL 几何着色器
  • Linux学习-TCP网络协议(补充)
  • ViT系列网络系统性分析:从架构创新到未来趋势
  • [QMT量化交易小白入门]-八十四、LSTM模型对期货市场的秒级Tick数据进行预测
  • AI背后使用的技术
  • 《信息检索与论文写作》实验报告一 EI数据库检索
  • 【文献阅读】SparseGPT: Massive Language Models Can be Accurately Pruned in One-Shot
  • ios webgl音频问题
  • 设置密钥连接服务器
  • Charles安装到使用全流程教程
  • Gemini 2.5 Flash-Lite 与 GPT-5-mini:高性能低成本模型,如何选择?
  • 第十七节:高级材质 - ShaderMaterial揭秘
  • 物联网时序数据库IoTDB架构解析
  • h5和微信小程序查看pdf文件
  • DrissionPage 能控制火狐或edge吗
  • 20.14 QLoRA微调Whisper-Large-v2终极指南:3倍速训练+显存直降68%调参秘籍
  • ADB 调试工具的学习[特殊字符]
  • 【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(2):智慧城市西安与一带一路
  • 技术速递|使用 AI 应用模板扩展创建一个 .NET AI 应用与自定义数据进行对话
  • 通过C#上位机串口写入和读取浮点数到stm32实战5(通过串口读取bmp280气压计的数值并在上位机显示)
  • .NET表格控件Spread .NET v18.0——支持富文本、增强PDF导出
  • 算法学习8.25
  • 如何生成雪碧图和 WEBVTT
  • Elasticsearch脑裂紧急处理与预防
  • [React]Antd Upload组件上传多个文件
  • 微服务商城构筑其一
  • VIVO/OPPO手机,显示5G开关
  • 【Wrangler(Cloudflare 的官方 CLI)和 npm/npx 的区别一次讲清】