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

一、需具备环境

两台Keepalived服务器

192.168.3.119

192.168.3.122

两台nginx服务器

192.168.3.120

192.168.3.121

VIP:192.168.3.200(虚拟IP)

 

二、主节点Keepalived配置

ip : 192.168.3.119

global_defs {
    # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
    router_id keep_119
}
 
vrrp_instance VI_1 {
    # 状态是(MASTER)主机还是备用机(BACKUP)
    state MASTER
    # 该实例绑定的网卡
    interface enp0s3
    # 保证主备节点一致
    virtual_router_id 200
    # 权重,master权重一般高于backup,有多个就选举,谁权重高谁当选
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS 
        auth_pass 1111 
    }
    # 虚拟出来的ip,可以有多个(vip) 
    virtual_ipaddress {
        192.168.3.200
    }
}

# 配置集群地址访问的IP+端口,端口和nginx保持一致  都是80
virtual_server 192.168.3.200 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.3.120 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.3.121 80 {
        weight 1
        # 设置健康检查
        TCP_CHECK {
                # 检查80端口
                connect_port 80
                # 超时时间
                connect_time 2s
                # 重试次数
                connect_retry 2
                # 间隔时间3s
                connect_before_retry 3
        }
    } 
}

三、备用节点配置

ip : 192.168.3.122

global_defs {
    router_id keep_122
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface enp0s3
    virtual_router_id 200
    priority 50
    advert_int 2
    authentication {
        auth_type PASS 
        auth_pass 1111 
    }
    virtual_ipaddress {
        192.168.3.200
    }
}

virtual_server 192.168.3.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 10
    protocol TCP

	real_server 192.168.3.120 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_time 2s
            connect_retry 2
            connect_before_retry 3
        }
    } 
    real_server 192.168.3.121 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_time 2s
            connect_retry 2
            connect_before_retry 3
        }
    } 
}

四、启动Keepalived

启动两台Keepalived:

systemctl start keepalived

查看集群状态

ipvsadm -Ln

看效果:

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

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

 

 

你可能感兴趣的:(Keepalived,LVS,Linux)