Files
CmiiDeploy/998-常用脚本/uavcloud-被cmii_operator替代/uavcloud-删除状态为异常的Pod.sh
zeaslity 437acbeb63 add
2024-10-30 16:30:51 +08:00

40 lines
1.4 KiB
Bash

#!/bin/bash
all_unhealthy_pod_list=""
all_cmii_name_space=(uavcloud-test uavcloud-feature uavcloud-uat uavcloud-dev uavcloud-devflight uavcloud-devoperation)
clean_up_log="clean_unhealthy_pod_log_$(date +'%Y-%m-%d-%H-%M-%S')"
mkdir -p /root/wdd
touch "/root/wdd/${clean_up_log}"
echo "clean log is => /root/wdd/$clean_up_log"
echo ""
for name_space in "${all_cmii_name_space[@]}"; do
echo "[NAMESPACE] - start to deal with namespace [$name_space]"
if ! kubectl get ns "$name_space"; then
echo "[NAMESPACE] - namespace of [$name_space] not exists !"
echo ""
continue
fi
# shellcheck disable=SC2207
all_unhealthy_pod_list=($(kubectl get pods --field-selector=status.phase!=Running,status.phase!=Succeeded -n "$name_space" -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
for unhealthy_pod in "${all_unhealthy_pod_list[@]}"; do
echo ""
if ! echo "$unhealthy_pod" | grep -q "mysql|redis|rabbit|mongo|nacos|srs"; then
clean_log="[clean_up] start to clean namespace [$name_space] unhealthy pod of => $unhealthy_pod"
echo "${clean_log}" >>"/root/wdd/$clean_up_log"
echo "${clean_log}"
kubectl -n "$name_space" delete pod "$unhealthy_pod" --force
else
clean_log="[clean_up] namespace [$name_space] unhealthy pod of => $unhealthy_pod not clean !"
echo "${clean_log}" >>"/root/wdd/$clean_up_log"
echo "${clean_log}"
fi
echo "[NAMESPACE] - accomplished!"
echo ""
done
done