根据Keepalived搭建的情况下编写的Keepalived节点 可以先参考 Keepalived搭建高可用节点配置

虚拟IP 主机 端口 角色
192.168.8.16 192.168.8.161 80 MASTER BACKUP
192.168.8.17 192.168.8.160 80 MASTER BACKUP

我们拿Keepalived搭建的高可用的nginx服务器中会发现,如果主节点提供服务一直不挂,会发现备用节点的服务器资源一直浪费,所以改进下架构方式
image.png
就是 keepalived中配置俩个虚拟节点 MASTER 与BACKUP节点

而用户怎么访问呢,我们可以通过申请虚拟ip绑定到域名上通过域名解析服务器DNS来选择到那个ip上就可以完成备用服务器资源也没有浪费的情况了
根据主备节点的搭建修改配置文件

监听脚本的执行可以随便在配置的MASTER 上面或者BACKUP 上面只有Keepalived没有挂就会监听所有俩个vrrp_instance 配置一个监听就可以了

global_defs { router_id k_1 }

vrrp_script nginx_check_xiaohu {

  1. script "/etc/keepalived/nginx_check_xiaohu.sh"
  2. interval 2 # 每隔两秒运行上一行脚本
  3. weight +1 #如果脚本运行成功,则升级权重+1

}

vrrp_instance VI_1 {

state MASTER

interface ens33

virtual_router_id 51

priority 100

advert_int 1

authentication {

    auth_type PASS

    auth_pass 1111

}

track_script {

     nginx_check_xiaohu

    }

virtual_ipaddress {

    192.168.8.16

}

}

新增的配置

vrrp_instance VI_2 {

state BACKUP

interface ens33

virtual_router_id 52

priority 90

advert_int 1

authentication {

    auth_type PASS

    auth_pass 1111

}

virtual_ipaddress {

    192.168.8.17

}

}

当把192.168.8.161节点停了就会发现160节点有俩个虚拟IP了而外网访问的 Nginx都到160节点上面了
image.png
image.png
image.png