监控keepalived_vip控制容器的状态
阅读原文时间:2023年08月14日阅读:1

需求:监控server服务器的vip状态,如果vip存在,则判断容器是否启动,如果没有启动,则启动容器。如果vip不存在则关闭容器。

方法一:

查看代码

#!/bin/bash
ip add | grep eth0 > /data/keepalived
cat /data/keepalived | grep ${yunguan_svc_vip.ip} &> /dev/null
if [ $? -eq 0 ]; then
        docker ps -a | grep beat | grep Up &> /dev/null
        if [ $? -ne 0 ]; then
            docker restart beat &> /dev/null
            else
            echo "beat is running" &> /dev/null
        fi
else
        docker stop beat &> /dev/null
fi

方法二:

查看代码

#!/bin/bash
vip=`ip a|grep ${yunguan_svc_vip.ip}|awk -F "/" '{print\$1}'|awk '{print\$2}'`
VALUE=`docker ps|grep beat`

if [ ! -z "$vip" ]; then
        if [ -z "$VALUE" ];
            then
                        docker start beat && sleep 10
        fi
else
      docker stop beat

fi

验证:

在svc1机器上测试;
1、keepalived启动状态,vip存在,停止beat容器,执行脚本。
结果:beat容器重新启动。

2、keepalived关闭状态,启动beat容器,执行脚本。
结果:beat容器停止。

加入计划任务:

####将keepalived.sh脚本放到/data/目录
####每小时执行一次脚本

echo "0 * * * * sh /data/keepalived.sh" >> /var/spool/cron/root

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章