95 lines
2.7 KiB
Bash
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
|