Files
CmiiDeploy/998-常用脚本/uavcloud-被cmii_operator替代/uavcloud-副本数量.sh
zeaslity 437acbeb63 add
2024-10-30 16:30:51 +08:00

95 lines
2.7 KiB
Bash

#!/bin/bash
# 设置命名空间
NAMESPACE="xmyd"
desired_deployment_name="cmii"
change_to_integration() {
echo "[change_to_integration] - namespace set to uavcloud-test!"
NAMESPACE="uavcloud-test"
echo ""
}
change_to_validation() {
echo "[change_to_validation] - namespace set to uavcloud-feature!"
NAMESPACE="uavcloud-feature"
echo ""
}
change_to_uat() {
echo "[change_to_uat] - namespace set to change_to_uat!"
NAMESPACE="uavcloud-uat"
echo ""
}
restart_deployment() {
local need_to_scale_up_deployments
# shellcheck disable=SC2207
need_to_scale_up_deployments=($(kubectl get deployments -n $NAMESPACE -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
local deployment_name
local desired_replica_count
for deployment_name in "${need_to_scale_up_deployments[@]}"; do
if echo "$deployment_name" | grep -qE "${desired_deployment_name}"; then
echo "[RESTART] - namespace of [$NAMESPACE] deployment of [$deployment_name] need to RESTART !"
echo ""
desired_replica_count=$(kubectl -n "$NAMESPACE" get deployment "$deployment_name" -o=jsonpath='{.spec.replicas}')
kubectl scale deployment "$deployment_name" --replicas=0 -n "$NAMESPACE"
echo "[SCALE] - namespace of [$NAMESPACE] deployment of [$deployment_name] desired_replica_count is $desired_replica_count"
kubectl scale deployment "$deployment_name" --replicas="${desired_replica_count}" -n "$NAMESPACE"
echo ""
fi
done
}
change_replica_of_deployment() {
if [ "$1" == "" ]; then
echo "[change_replica_of_deployment] - desired_replica_count is null , can not execute !"
return 233
fi
local desired_replica_count
desired_replica_count=$1
if [ "${desired_deployment_name}" == "" ]; then
echo "[change_replica_of_deployment] - WARNING all deployment of [$NAMESPACE] will be SCALE to => [$desired_replica_count] !!"
fi
local all_deployment_name_list
# shellcheck disable=SC2207
all_deployment_name_list=($(kubectl get deployments -n $NAMESPACE -o=jsonpath='{.items [*].metadata.name}' | tr " " "\n"))
local deployment_name
for deployment_name in "${all_deployment_name_list[@]}"; do
if echo "$deployment_name" | grep -qE "${desired_deployment_name}"; then
echo ""
echo "[SCALE] - namespace of [$NAMESPACE] deployment of [$deployment_name] SCALE TO => [$desired_replica_count]"
kubectl scale deployment "$deployment_name" --replicas="${desired_replica_count}" -n "$NAMESPACE"
echo ""
fi
done
}
main() {
# 修改环境
change_to_validation
# 模糊匹配
# 空则匹配命名空间中的全部deployment
# desired_deployment_name="bitbu"
# 重启 deployment1
# restart_deployment
# 改变deployment的副本数量
change_replica_of_deployment 1
}
main