美文网首页
Keepalived + Kong Ha配置

Keepalived + Kong Ha配置

作者: Panama_228b | 来源:发表于2020-04-03 16:12 被阅读0次

1. 安装Keepalived

安装使用yum即可,如果为离线环境,需要将Centos ISO作为一个私有局域网镜像,配置一下yum源即可。

 yum install keepalived 

2. 修改主节点Keepalived配置项

  cd /etc/keepalived
  vim keepalived.conf
! Configuration File for keepalived

global_defs {
  # notification_email {
   #  acassen@firewall.loc
  #   failover@firewall.loc
   #  sysadmin@firewall.loc
  # }
  # notification_email_from Alexandre.Cassen@firewall.loc
  # smtp_server 192.168.200.1
  # smtp_connect_timeout 30
   router_id lb001   # 全局唯一的routerid
   script_user root
  # vrrp_skip_check_adv_addr
  # vrrp_strict   # 不使用vrrp严格模式
  # vrrp_garp_interval 0
  # vrrp_gna_interval 0
}


# 定义检测kong 网关的脚本
vrrp_script chk_nginx {
        script "/etc/keepalived/kong_check.sh" ## 检测 Kong 状态的脚本路径
        interval 1   # 执行频率
        weight 0    # shell脚本执行返回状态为0 成功,weight大于0,将修改优先级加weight,返回状态非零 weight 小于 0 ,优先级减去weight
}

vrrp_instance kong_gateway {
    state MASTER  # 主节点为MASTER
    interface eth0   # 绑定 本地eth0 网卡
    virtual_router_id 59  # 同一组MASTER,BACKUP此标识必须一样,局域网内有多组keepalived时候,注意此参数必须跟其他组不一样
    priority 100  # 指定MASTER优先级,要比BACKUP节点大
    advert_int 1   # MASTER 发送VRRP包周期
    authentication {
        auth_type PASS
        auth_pass kong   # 局域网多个组keepalive的时候,最好修改一下,不同组,密码不一样
    }
    track_script {
        chk_nginx ## 执行 Nginx 监控的服务
    }


    virtual_ipaddress {
        10.26.11.200  # 虚拟IP地址,需要同本机地址同网段
    }
}

MASTER,BACKUP 能互通,并同网段

3. BACKUP节点配置

! Configuration File for keepalived

global_defs {
  # notification_email {
   #  acassen@firewall.loc
  #   failover@firewall.loc
   #  sysadmin@firewall.loc
  # }
  # notification_email_from Alexandre.Cassen@firewall.loc
  # smtp_server 192.168.200.1
  # smtp_connect_timeout 30
   router_id lb002   # 全局唯一的routerid
   script_user root
  # vrrp_skip_check_adv_addr
  # vrrp_strict   # 不使用vrrp严格模式
  # vrrp_garp_interval 0
  # vrrp_gna_interval 0
}


# 定义检测kong 网关的脚本
vrrp_script chk_nginx {
        script "/etc/keepalived/kong_check.sh" ## 检测 Kong 状态的脚本路径
        interval 1   # 执行频率
        weight 0    # shell脚本执行返回状态为0 成功,weight大于0,将修改优先级加weight,返回状态非零 weight 小于 0 ,优先级减去weight
}

vrrp_instance kong_gateway {
    state BACKUP  # 主节点为BACKUP
    interface eth0   # 绑定 本地eth0 网卡
    virtual_router_id 59  # 同一组MASTER,BACKUP此标识必须一样,局域网内有多组keepalived时候,注意此参数必须跟其他组不一样
    priority 90  # 指定MASTER优先级,要比BACKUP节点大
    advert_int 1   # MASTER 发送VRRP包周期
    authentication {
        auth_type PASS
        auth_pass kong   # 局域网多个组keepalive的时候,最好修改一下,不同组,密码不一样
    }
    track_script {
        chk_nginx ## 执行 Nginx 监控的服务
    }


    virtual_ipaddress {
        10.26.11.200  # 虚拟IP地址,需要同本机地址同网段
    }
}

默认配置为抢占模式,如果MASTER机器出现故障,又恢复后,MASTER优先级 比BACKUP大,会抢夺VIP地址绑定。如果不设置抢占模式需要将MASTER和BACKUP的节点的state属性都设置为backup。然后在vrrp_instance节点增加nopreempt属性。

4. 检测kong网关脚本

  #!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
    kong start
    sleep 2
    counter=$(ps -C nginx --no-heading|wc -l)
    if [ "${counter}" = "0" ]; then
        systemctl stop keepalived
    fi
fi

5. 启动Keepalived

   systemctl start keealived

6. 参考资料

https://www.keepalived.org/manpage.html

https://blog.csdn.net/mofiu/article/details/76644012
VIP设置为公网IP

相关文章

网友评论

      本文标题:Keepalived + Kong Ha配置

      本文链接:https://www.haomeiwen.com/subject/ssxkphtx.html