从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived)

从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived)

架构

架构

从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived)_第1张图片

本设计方案采用两台阿里云ECS服务器搭建Keepalived结合LVS的高可用集群。使用LVS的TUN模式进行负载均衡,同时利用阿里云的弹性IP(EIP)与高可用虚拟HaVIP实现跨服务器的高可用性。架构中,一台ECS服务器作为主LVS Director节点,另一台作为备份LVS Director节点,两者通过Keepalived实现故障自动切换。

环境配置

因为经费原因我这里只够买了2台ECS实例,用于测试HaVip在Keepalived主备切换与lvs TUN模式。

从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived)_第2张图片

资源 功能 备注
ECS实例 搭载集群 2台keepalived主备,2台部署服务(测试用没有购买),必须同一内网
172.19.68.106
172.19.68.110
弹性EIP 公网ip,流量入口 购买资源 47.102.148.135
高可用虚拟HaVIP 内网ip。lvs集群vip, keepalived节点ip漂移 免费申请 172.19.68.109

流程

  1. 在阿里云控制台创建两台ECS服务器,选择合适的配置以满足性能需求。
  2. 为两台ECS服务器配置相同的安全组规则,确保网络互通。
  3. 在两台ECS服务器上安装Linux操作系统并更新系统安全补丁。
  4. 配置Keepalived,设置VRRP(虚拟路由冗余协议),选择Tun模式,以实现高可用性。
  5. 配置阿里云EIP,通过高可用虚拟HaVIP将其绑定到主备LVS Director节点的VIP。
  6. 测试负载均衡和高可用性,确保系统在主节点故障时能够自动切换到备份节点。

各服务功能

  • LVS:作为负载均衡器,负责接收外部请求并通过TUN模式分发流量到后端服务。
  • Keepalived:监控LVS Director节点的状态,实现故障自动切换。
  • EIP(弹性IP):阿里云提供的静态IP地址,用于实现跨服务器的高可用性。

部署

部署

  1. 在两台ECS服务器上安装Linux操作系统并进行基础配置。
  2. 安装LVS软件,配置TUN模式,设置相同的VIP,并确保网络规则允许流量通过。
  3. 安装Keepalived,配置VRRP实例,指定主从角色和优先级。
  4. 配置阿里云EIP,将其与主LVS Director节点的VIP关联。
  5. 配置后端服务(如Web服务器),确保它们能够处理来自LVS的请求。
  6. 进行压力测试和故障模拟,验证负载均衡和高可用性配置。

文件配置

keepalived主节点

root@iZuf64d3yu2ti34bwqerlqZ:/home/w# cat /etc/keepalived/keepalived.conf 
# create new
global_defs {
   
    # set hostname
    router_id node01
}

vrrp_instance VRRP1 {
   
    # on primary node, specify [MASTER]
    # on backup node, specify [BACKUP]
    # if specified [BACKUP] + [nopreempt] on all nodes, automatic failback is disabled
    state MASTER
    # if you like disable automatic failback, set this value with [BACKUP]
    # nopreempt
    # network interface that virtual IP address is assigned
    interface eth0
    # set unique ID on each VRRP interface
    # on the a VRRP interface, set the same ID on all nodes
    virtual_router_id 101
    # set priority : [Master] > [BACKUP]
    priority 200
    # VRRP advertisement interval (sec)
    advert_int 1
    # virtual IP address
    virtual_ipaddress {
   
        172.19.68.109/32  dev eth0  # 必须配置 /32,否则会添加额外路由,导致2个esc节点ping不通内网
    }
}

virtual_server 172.19.68.109 80 {
   
    delay_loop 6
    lb_algo sh            # 负载均衡算法 源ip_hash
    lb_kind TUN            # tun 模式
    persistence_timeout 50
    protocol TCP

    real_server 172.19.68.110 80 {
   
        weight 1
        TCP_CHECK {
   
            nb_get_retry 3              # 重新连接次数
            delay_before_retry 3        # 重新连接间隔时间
            connect_port 80             # 向当前RS的哪个PORT发起健康状态检测请求
            connect_timeout 3           # 客户端请求的超时时长, 等于haproxy的timeout server
        }
    }
}

 

keepalived 备用节点

root@iZuf66hj0t5ardtam17vx6Z:/home/wcq# cat /etc/keepalived/keepalived.conf
global_defs {
   
    router_id node02
}

vrrp_instance V

你可能感兴趣的:(云原生运维,lvs,高性能集群,keepalived,lvs,高可用集群,高性能集群,云原生)