安装

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
}

最新文章

  1. SqlServer和MySQL游标学习
  2. unity中的欧拉角
  3. Jmeter-Maven-Plugin高级应用:Selecting Tests To Run
  4. scala学习-类与对象
  5. SQL统计不重复字段的个数.
  6. 怎么加sudo权限
  7. [Operationg System Labs] 我对 Linux0.00 中 boot.s的理解和注释
  8. ffmpeg用法
  9. Eclipse常用快捷键总结
  10. mac openresty 源码安装 坑
  11. async/await 的使用
  12. windows下远程连接Mysql
  13. 2.HTML文件中<!DOCTYPE html>的作用
  14. 基于Django+celery二次开发动态配置定时任务 ( 一 )
  15. SpringBoot学习:整合shiro(身份认证和权限认证),使用EhCache缓存
  16. hadoop2.2.0 centos 编译安装详解
  17. C语言 · 瓷砖铺放
  18. 发展中的生命力——Leo鉴书69
  19. 【XP-IE8】XP系统的IE8无法正常访问图片,按钮无反应,不执行JS脚本代码
  20. 开学测试之——ATM

热门文章

  1. Dobble的学习视频地址
  2. 全文检索lucene6.1的检索方式
  3. 记录——本地minikube安装ubuntu镜像总是报 Back-off restarting failed container问题 -已解决(更新)
  4. JVM 原理
  5. 关于read函数的一些分析
  6. 按时间划分备份MySQL脚本
  7. jQuery优化性能的十种方法
  8. Django路由URL
  9. Java 应用运维
  10. HDU 2669 Romantic( 拓欧水 )