使用docker的方式启动keepalived做高可用
发布时间 2023-04-20 15:31:10作者: ZANAN
镜像地址:docker pull zhangnan30/keepalived-amd64:2.0.20
启动脚本:
`docker run \
--name keepalived \
--restart=always \
--cap-add=NET_ADMIN --cap-add=NET_RAW --net=host \
-v /etc/localtime:/etc/localtime \
-v /root/keepalived/keepalived.conf/:/usr/local/etc/keepalived/keepalived.conf \
-v /root/keepalived/check_haproxy:/root/keepalived/check_haproxy \
-d zhangnan30/keepalived-amd64:2.0.20`
示例配置文件:
`global_defs {
script_user root root
}
vrrp_script chk_haproxy {
script "/root/keepalived/check_haproxy"
interval 2
timeout 3
weight -2
fall 3
}
vrrp_instance VI_HAPROXY {
state MASTER
interface ens3
virtual_router_id 201
priority 60
advert_int 1
track_interface {
ens3
}
authentication {
auth_type PASS
auth_pass haproxy
}
virtual_ipaddress {
172.22.15.251
}
track_script {
chk_haproxy
}
unicast_src_ip 172.22.15.212
unicast_peer {
172.22.15.211
}
}`
示例健康检查:
`
ports=22
arr=$(echo $ports|tr "," "\n")
for x in $arr; do
nc -vz localhost $x
if [ $? -eq 0 ]; then
echo "succeed"
else
killall keepalived
exit 1
fi
done`