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 应用启停通用脚本的主要内容,如果未能解决你的问题,请参考以下文章

npm 错误!缺少脚本:构建:通用

CentOS 通用脚本处理jar包程序

所有页面原生脚本的通用 ActionBar 和 Side Drawer 组件

SQL通用脚本

Pentaho 通用错误处理脚本

flyway:每次迁移后运行的通用脚本