根据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服务器中会发现,如果主节点提供服务一直不挂,会发现备用节点的服务器资源一直浪费,所以改进下架构方式
就是 keepalived中配置俩个虚拟节点 MASTER 与BACKUP节点
而用户怎么访问呢,我们可以通过申请虚拟ip绑定到域名上通过域名解析服务器DNS来选择到那个ip上就可以完成备用服务器资源也没有浪费的情况了
根据主备节点的搭建修改配置文件
监听脚本的执行可以随便在配置的MASTER 上面或者BACKUP 上面只有Keepalived没有挂就会监听所有俩个vrrp_instance 配置一个监听就可以了
global_defs { router_id k_1 }
vrrp_script nginx_check_xiaohu {
script "/etc/keepalived/nginx_check_xiaohu.sh"interval 2 # 每隔两秒运行上一行脚本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节点上面了


