k8s

pod定期扩缩容

需求

有个报表服务每个月月底要批量生成报表,当前服务2个pod,请求有点过载,需要再扩容4个pod,然后等下个月的5号再缩回2个pod。

实现

通过crontab即可实现。

scale_deployment.sh

#!/bin/bash
# 脚本名称: scale_deployment.sh
# 用法: ./scale_deployment.sh [scaleup|scaledown]

DEPLOYMENT="deployment"
NAMESPACE="test"  # 替换对应命名空间
case $1 in
    scaleup)
        # 扩容到6个副本
        kubectl scale deployment $DEPLOYMENT --replicas=6 -n $NAMESPACE
        echo "$(date): 已扩容到6个副本"
        ;;
    scaledown)
        # 缩容到2个副本
        kubectl scale deployment $DEPLOYMENT --replicas=2 -n $NAMESPACE
        echo "$(date): 已缩容到2个副本"
        ;;
    *)
        echo "用法: $0 [scaleup|scaledown]"
        exit 1
        ;;
esac

crontab

# 每月月底前一天晚上11点59分扩容(注意:月底可能是28、29、30或31号)
59 23 28-31 * * [ $(date -d tomorrow +\%d) -eq 1 ] && /root/scale_deployment.sh scaleup
# 每月5号凌晨0点5分缩容
5 0 5 * * /root/scale_deployment.sh scaledown

file

file

分类: k8s
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
最旧
最新 最多投票
内联反馈
查看所有评论

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部
0
希望看到您的想法,请您发表评论x