keepalive安裝配置


安裝

Centos7.4

yum install keepalived

配置

Master服務器配置


[root@wsjy-proxy01 keepalived]# cat keepalived.conf 
global_defs {
    router_id lb-master
    enable_script_security
}

vrrp_script check-haproxy {
    script "/usr/bin/killall -0 nginx"
    interval 5
    weight -30
}

vrrp_instance kube-master {
    state MASTER
    priority 120
    dont_track_primary
    interface ens160
    virtual_router_id 88
    advert_int 1
    track_script {
        check-haproxy
    }
    authentication {
        auth_type PASS
        auth_pass 17908123
    }
    virtual_ipaddress {
        10.101.133.107
    }
}


Backup服務器配置

[root@wsjy-proxy2 keepalived]# cat keepalived.conf 
global_defs {
    router_id lb-backup
    enable_script_security
}

vrrp_script check-haproxy {
    script "/usr/bin/killall -0 nginx"
    interval 5
    weight -30
}

vrrp_instance kube-master {
    state BACKUP
    priority 110
    dont_track_primary
    interface ens160
    virtual_router_id 88
    advert_int 1
    track_script {
        check-haproxy
    }
    authentication {
        auth_type PASS
        auth_pass 17908123
    }
    virtual_ipaddress {
        10.101.133.107
    }
}



測試切換

Master 服務器上執行:

killall nginx

May 19 15:37:23 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]
May 19 15:37:24 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Instance(kube-master) Transition to MASTER STATE
May 19 15:38:13 wsjy-proxy01 Keepalived_vrrp[2163]: /usr/bin/killall -0 nginx exited with status 1
May 19 15:38:13 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Script(check-haproxy) failed
May 19 15:38:13 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Instance(kube-master) Changing effective priority from 120 to 90
May 19 15:38:14 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Instance(kube-master) Received advert with higher priority 110, ours 90
May 19 15:38:14 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Instance(kube-master) Entering BACKUP STATE
May 19 15:38:14 wsjy-proxy01 Keepalived_vrrp[2163]: VRRP_Instance(kube-master) removing protocol VIPs.


查看到MASTER切換為 BACKUP狀態。


問題排查

  • Keepalived_vrrp[1019]: Cannot find script killall in path

killall 需要配置完整路徑

--安裝 killall 軟件

yum install psmisc -y

如果未安裝 psmisc,不存在 killall 命令。


  • SECURITY VIOLATION - scripts are being executed but script_security not enabled

在global_defs配置中添加: enable_script_security

global_defs {
    router_id lb-master
    enable_script_security
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM