搭建Keepalived+LVS+Nginx高可用集群负载均衡

目录

  • 安装Nginx
  • 安装Keepalived
  • 搭建LVS环境(这里使用DR模式)
  • 编写Keppalived配置参数
    • 主:
    • 备:
  • 启动Keepalived

安装Nginx

安装Nginx

安装Keepalived

  1. 安装Keepalived
  2. 将keepallived注册为系统服务,方便开启关闭(可选)

搭建LVS环境(这里使用DR模式)

  1. 搭建LVS-DR模式- 配置LVS节点与ipvsadm
  2. 搭建LVS-DR模式- 为两台RS配置虚拟IP
  3. 搭建LVS-DR模式- 为两台RS配置arp

编写Keppalived配置参数

主:

vrrp_instance VI_1 {
	# 表示状态是MASTER主机还是备用机BACKUP
    state MASTER
    # 该实例绑定的网卡
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 51
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 1
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.84.150
    }
}


# 配置集群地址访问的IP+端口,端口和nginx保持一致  都是80
virtual_server 192.168.84.150 80 {
    # 健康检查的时间  单位 秒
    delay_loop 6
    # 配置负载均衡的算法 默认是轮询  rr:轮询
    lb_algo rr
    # 设置lvs的模式  NAT|TUN|DR
    lb_kind DR
    # 会话持久的时间
    persistence_timeout 10
    protocol TCP

    # 负载均衡的真是服务器,也就是nvinx节点的具体的真是ip地址
    real_server 192.168.84.138 80 {
	# 轮询的默认权重配比设置为1
        weight 1
	# 设置健康检查
	TCP_CHECK {
		# 检查80端口
		connect_port 80
		# 超时时间
		connect_time 2s
		# 重试次数
		connect_retry 2
		# 间隔时间3s
		connect_before_retry 3
	}
    }
    real_server 192.168.84.139 80 {
        weight 1
        # 设置健康检查
        TCP_CHECK {
                # 检查80端口
                connect_port 80
                # 超时时间
                connect_time 2s
                # 重试次数
                connect_retry 2
                # 间隔时间3s
                connect_before_retry 3
        }
    } 
}

备:

vrrp_instance VI_2 {
	# 表示状态是MASTER主机还是备用机BACKUP
    state BACKUP
    # 该实例绑定的网卡
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 51
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 50
    # 主备之间同步检查时间间隔,单位秒
    advert_int 1
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.84.150
    }
}


# 配置集群地址访问的IP+端口,端口和nginx保持一致  都是80
virtual_server 192.168.84.150 80 {
    # 健康检查的时间  单位 秒
    delay_loop 6
    # 配置负载均衡的算法 默认是轮询  rr:轮询
    lb_algo rr
    # 设置lvs的模式  NAT|TUN|DR
    lb_kind DR
    # 会话持久的时间
    persistence_timeout 10
    protocol TCP

    # 负载均衡的真是服务器,也就是nvinx节点的具体的真是ip地址
    real_server 192.168.84.138 80 {
	# 轮询的默认权重配比设置为1
        weight 1
	# 设置健康检查
	TCP_CHECK {
		# 检查80端口
		connect_port 80
		# 超时时间
		connect_time 2s
		# 重试次数
		connect_retry 2
		# 间隔时间3s
		connect_before_retry 3
	}
    }
    real_server 192.168.84.139 80 {
        weight 1
        # 设置健康检查
        TCP_CHECK {
                # 检查80端口
                connect_port 80
                # 超时时间
                connect_time 2s
                # 重试次数
                connect_retry 2
                # 间隔时间3s
                connect_before_retry 3
        }
    } 
}

启动Keepalived

# 启动keepalived  此需要将Keepalived注册为系统服务,也可使用其他方法启动
systemctl start keepalived

查看lvs是否运行成功

ipvsadm -Ln

搭建Keepalived+LVS+Nginx高可用集群负载均衡_第1张图片

你可能感兴趣的:(LVS-DR)