export KUBECONFIG=/path/to/your/kubernetes.yaml
pods=""
total=`/usr/local/bin/kubectl --kubeconfig=$KUBECONFIG get pods -o wide | grep service | sed -n '$='` # 1
for pod in `/usr/local/bin/kubectl --kubeconfig=$KUBECONFIG get pods -o wide | grep service | awk '{print $1 "_" $6}'` # 2
do
name=`echo $pod | awk -F_ '{print $1}'`
ip=`echo $pod | awk -F_ '{print $2}'`
sname=`echo $name | awk -F- '{print $5}'`
curl -s --connect-timeout 10 -m 10 $ip:8672 > /dev/null # 3
if [ $? -ne 0 ]; then # 4
/usr/local/bin/kubectl delete pod $name
pods="$pods$sname ×, "
else
pods="$pods$sname √, "
fi
done
pods="${pods%??}" # 5
success=`echo $pods | awk -F"√" '{print NF-1}'` # 6
if [ $success -ne $total ]; then
# 7
curl 'https://oapi.dingtalk.com/robot/send?access_token=***' \
-H 'Content-Type: application/json' \
-d '{ "msgtype": "text", "text": { "content": "检查结果 ['"$success"'/'"$total"'] :\n'"${pods}"'" } }'
fi
export KUBECONFIG=/opt/k8s-deploy/.kube/config
for pod in `/usr/local/bin/kubectl --kubeconfig=$KUBECONFIG get pods -n darwin-prod|grep prod-darwin-app-api|grep 'Run'|awk '{print $1 "_" $3}'`
do
stat=`echo $pod |awk -F '_' '{print $2}'`
sname=`echo $pod |awk -F '_' '{print $0}'`
if [ "$stat" != "Running" ]; then
curl -X POST 'https://open.feishu.cn/open-apis/bot/v2/hook/191b8565-f050-4863-a0fc-a6b539a40eb7' \
-H 'Content-Type: application/json' \
-d '{"msg_type":"text","content":{"text":"检查结果发布成功'$sname'"}}'
else
curl -X POST 'https://open.feishu.cn/open-apis/bot/v2/hook/191b8565-f050-4863-a0fc-a6b539a40eb7' \
-H 'Content-Type: application/json' \
-d '{"msg_type":"text","content":{"text":"检查结果发布失败'$sname'"}}'
fi
done
k8s检测脚本
最新推荐文章于 2024-06-04 00:10:19 发布