K8S 应用启停通用脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S 应用启停通用脚本相关的知识,希望对你有一定的参考价值。
参考技术A Kubernetes 集群中运行的应用中的每一个服务组件通常是以 Deployment 的形式存在的,本文中提供的管理脚本假设读者部署在 Kubernetes 中的应用服务的 Deployment 对象均已特定的前缀命名,比如 demo,那么集群中可能存在一下的 Deployment 对象:在这个前提下,我这里提供了一个脚本可以对这些 deployment 对象进行一键启停操作。举例说明,加绒我的脚本名称为 k8s-apps.sh 那么可以执行如下命令:
启停脚本的内容如下:
Redis启停脚本
环境:多实例环境,需指定端口进行启停服务
编写脚本:
#!bin/sh
#调用函数功能
#这是redis的启动、停止、重启脚本
REDISPORT=$1
#redis的pid
EXEC=/usr/local/redis4/bin/redis-server
CONF="/etc/redis/${REDISPORT}.conf"
CLIEXEC=/usr/local/redis4/bin/redis-cli
#redis的PID文件位置,需要修改
PIDFILE=/var/run/redis_${REDISPORT}.pid
#redis的配置文件位置,需将${REDISPORT}修改为文件名
start(){
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
}
stop(){
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
}
restart(){
stop
start
if [ $? = 0 ];then
echo "重启成功....."
fi
}
case "$2" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "使用方法:sh 脚本名 端口 参数 {start|stop|start}"
esac
根据启动脚本,将修改好的配置文件复制到指定目录下,用root用户进行操作:
mkdir
/etc/redis
cp
redis_6379.conf
/etc/redis/6379
.conf
将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd
赋权:chmod 755 redisd
使用:
service redisd 6379 restart
以上是关于K8S 应用启停通用脚本的主要内容,如果未能解决你的问题,请参考以下文章