#系统瘦身:所有deploy replicas缩为1,所有pod资源缩为 0.5cpu 256M
#适用于一个deploy中只有一个container的deploy
#参数1:namespace环境变量
#环境瘦身
function Slimming()
{
deployments=$(kubectl get deploy -n ${NAMESPACE} | grep -v 'NAME' | cut -d ' ' -f 1)
for element in ${deployments[@]}
do
containerName=$(kubectl -n ${NAMESPACE} get deploy $element -owide | grep -v 'NAME' | awk '{print $7}')
#${containerName}在json中是字符串类型,json串中必须使用双引号应用
#不能直接包含在双引号中,否者shell不会替换为参数值
#通过前后字符串来拼接,注意不要前后字符串都别缺少双引号
kubectl -n ${NAMESPACE} patch deploy ${element} -p '{"spec":{"template":{"spec":{"containers":[{"name": "'${containerName}'","resources":{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"1","memory":"1Gi"}}}]}}}}'
kubectl -n ${NAMESPACE} patch hpa ${element} -p '{"spec":{"minReplicas":1,"maxReplicas":1}}'
done
}
shell脚本
发布时间 2023-08-01 06:00:46作者: 随风2020