This commit is contained in:
zeaslity
2024-10-30 16:30:51 +08:00
commit 437acbeb63
3363 changed files with 653948 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
#!/bin/bash
# 获取命令空间 uavcloud-uat 中所有部署deployment的镜像名称
kubectl get deployments -n uavcloud-demo -o=jsonpath='{range .items[*]}{.spec.template.spec.containers[*].image}{"\n"}{end}'
# 获取命名空间 uavcloud-uat种所有的configmap并且保存为独立的文件文件名为configmap名
mkdir configmaps
kubectl get configmaps -n uavcloud-uat -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}' | while read configmap; do
kubectl get configmap $configmap -n uavcloud-uat -o yaml > ./configmaps/$configmap.yaml
done
# 获取命名空间 uavcloud-uat种所有的ingress并且保存为独立的文件文件名为ingress名
mkdir ingresses
kubectl get ingress -n uavcloud-uat -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}' | while read ingress; do
kubectl get ingress $ingress -n uavcloud-uat -o yaml > ./ingresses/$ingress.yaml
done
# kubectl删除所有命名空间的状态不正常的pod
kubectl get pods --all-namespaces | awk '{ if($3 != "Running" && $3 != "Completed") print "kubectl delete pod " $2 " -n " $1 }' | sh
# 获取demo空间所有deployment的名称
kubectl get deployments -n uavcloud-demo -o=jsonpath='{.items [*].metadata.name}'

View File

@@ -0,0 +1,39 @@
#!/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

View File

@@ -0,0 +1,94 @@
#!/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

View File

@@ -0,0 +1,27 @@
#!/bin/bash
\
all_cmii_name_space=(uavcloud-test uavcloud-feature uavcloud-dev uavcloud-devflight uavcloud-devoperation)
# shellcheck disable=SC2207
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
echo ""
all_zero_replicas_deployment_list=($(kubectl get deployments -n "$name_space" -o=jsonpath='{.items[?(@.spec.replicas==0)].metadata.name}' | tr " " "\n"))
for deployment_name in "${all_zero_replicas_deployment_list[@]}"; do
if echo "$deployment_name" | grep -q "cmii"; then
echo "[SCALE] - going to scale [$name_space] [$deployment_name] to 1 !!"
kubectl scale deployment "$deployment_name" --replicas=1 -n "$name_space"
echo ""
fi
done
echo ""
done

View File

@@ -0,0 +1,11 @@
#!/bin/bash
namespace="uavcloud-demo"
configmaps=$(kubectl get configmaps -n $namespace | grep tenant | awk '{print $1}')
for configmap in $configmaps
do
echo "ConfigMap: $configmap"
kubectl get configmap $configmap -n $namespace -o yaml
echo "---------------------"
done

View File

@@ -0,0 +1,20 @@
#!/bin/bash
#all_cmii_name_space=(uavcloud-test uavcloud-feature uavcloud-uat uavcloud-dev uavcloud-devflight uavcloud-devoperation)
all_cmii_name_space=(uavcloud-test uavcloud-feature uavcloud-dev uavcloud-devflight uavcloud-devoperation)
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
echo ""
kubectl get pods --namespace="${name_space}" --sort-by='.status.containerStatuses[].restartCount' | awk '$4 > 30 {print $1} ' | sed 's/-[a-z0-9]\{9,10\}-[a-z0-9]\{5\}$//' | xargs -I {} kubectl scale -n "${name_space}" --replicas=0 deployment {}
echo ""
done

View File

@@ -0,0 +1,24 @@
#!/bin/bash
batch_delete_pod() {
local namespace=$1
local app_name_prefix=$2
if [ $namespace == "" ]; then
echo "namespace is null"
return
fi
if [ $app_name_prefix == "" ]; then
echo "app_name_prefix is null"
return
fi
local app_pod_list=$(kubectl -n "$namespace" get pods -A | grep "$app_name_prefix" | awk '{print$2}'| tr "\n" " " )
for app in "${app_pod_list[@]}"; do
echo "app is ${app}"
kubectl -n "$namespace" delete pod $app
done
}
batch_delete_pod kube-system flannel

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
name_space=uavcloud-dev
delete_all_fronted_cmii_pod(){
all_pod_list=($(kubectl get pods -n "$name_space" -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
for pod in "${all_pod_list[@]}"; do
if echo "$pod" | grep -q "cmii-uav-platform"; then
echo ""
echo "current pod is $pod"
kubectl -n "$name_space" delete pod "$pod" --force
fi
done
}
delete_all_backend_cmii_pod(){
all_pod_list=($(kubectl get pods -n "$name_space" -o=jsonpath='{.items[*].metadata.name}' | tr " " "\n"))
for pod in "${all_pod_list[@]}"; do
if echo "$pod" | grep -v "platform" | grep -q "cmii"; then
echo ""
echo "current pod is $pod"
kubectl -n "$name_space" delete pod "$pod" --force
fi
done
}
delete_all_backend_cmii_pod

View File

@@ -0,0 +1,20 @@
#!/bin/bash
namespace=uavcloud-demo
app_name_list=(uav-gateway cmii-uav-notice cmii-uas-gateway cmii-uas-lifecycle uav-platform-uas)
echo ""
echo "current namespace is $namespace"
echo ""
for app in ${app_name_list[@]};do
echo "current app is $app"
pod_name=$(kubectl -n ${namespace} get pods | grep ${app} | awk '{print$1}' | head -n1)
echo "pod name of app is => $pod_name"
kubectl -n ${namespace} describe pod ${pod_name} | grep "Image ID:" | awk '{print $3}'
echo ""
done