两台linux机器:

192.168.115.128:Keepalived、haproxy、nginx
192.168.115.129:Keepalived、haproxy、nginx

192.168.115.128配置:

Keepalived:

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.115.100
    }
}

haproxy配置:

frontend  main *:5000
     default_backend             app

backend app
    balance     roundrobin
    server  app1 192.168.115.128:80 check       ###nginx80
    server  app2 192.168.115.129:80 check       ###nginx80

nginx页面显示:

Keepalived+haproxy实现高可用集群

192.168.115.129配置

Keepalived配置

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.115.100           ###集群VIP
    }
}

haproxy配置

frontend  main *:5000
     default_backend             app
backend app
    balance     roundrobin
    server  app1 192.168.115.128:80 check      ###nginx80
    server  app2 192.168.115.129:80 check      ###nginx80

nginx显示页面

Keepalived+haproxy实现高可用集群

集群正常使用情况:

浏览器输入
192.168.115.100:5000 在下面两种情况下轮询显示

Keepalived+haproxy实现高可用集群
Keepalived+haproxy实现高可用集群

验证高可用集群动作:

停止192.168.115.128机器的Keepalived和haproxy,模拟实现此机器宕机
systemctl stop keepalived
systemctl stop haproxy

可验证得出:集群正常轮询显示