Keepalived + Nginx 高可用负载均衡部署

目录

一、架构与原理

1.1 高可用架构设计

1.2 核心原理

二、部署步骤详解

2.1 环境准备

2.2 安装 Docker 与 Docker Compose

2.3 部署 Nginx 容器

2.3 安装Keepalived

2.4 配置 Keepalived

2.4.1 主节点配置

2.4.2 备节点配置

2.5 健康检查脚本

2.6 启动 Keepalived

三、验证与测试

3.1 检查 VIP 绑定

3.2 测试负载均衡

3.3 模拟故障转移

四、常见问题与注意事项

4.1 常见问题

4.2 注意事项

五、总结


一、架构与原理

1.1 高可用架构设计
  • 目标:通过 Keepalived 实现虚拟 IP(VIP)的故障转移,结合 Nginx 的负载均衡能力,确保服务的高可用性和可扩展性。

  • 核心组件

    • Keepalived:基于 VRRP 协议(虚拟路由冗余协议)实现 VIP 的故障转移。

    • Nginx:作为反向代理和负载均衡器,将请求分发到后端服务器。

    • Docker:容器化部署 Nginx,提升环境一致性。

1.2 核心原理
  1. VRRP 协议

    • 多台服务器组成一个虚拟路由组,共享一个 VIP。

    • 主节点(Master)定期发送心跳包(Advertisement),备节点(Backup)监听心跳。

    • 若主节点宕机,备节点接管 VIP。

  2. 健康检查

    • Keepalived 通过自定义脚本(如 nginx_check.sh)监控服务状态。

    • 若检测到 Nginx 容器异常,尝试重启;若重启失败,主动停止 Keepalived 服务,触发 VIP 转移。


二、部署步骤详解

2.1 环境准备

  • 操作系统

    • Centos

  • 服务器

    • 主节点:192.168.213.3

    • 备节点:192.168.213.4

  • VIP192.168.213.6/24

  • 网络接口ens33(需根据实际网卡名称修改)

  • 软件版本

    • Docker 20.10+

    • Docker Compose 2.20+

    • Keepalived 2.0+


2.2 安装 Docker 与 Docker Compose

可参考我之前的文章 Docker安装

解释

  • Docker 提供容器运行时环境,Nginx 运行在容器中,避免环境差异。

  • Docker Compose 用于定义和管理多容器应用,简化部署流程。


2.3 部署 Nginx 容器
  1. 创建目录结构

    mkdir -p /home/nginx/{conf,html}

  2. 编写 docker-compose.yml

    version: '1'
    services:
      nginx:
        image: nginx-upstream-check:1.25.3
        container_name: nginx1.25.3 # 容器名称需与检查脚本一致
        ports:
          - "8000:8000"               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值