【shell脚本通过curl调用判断k8s pod 是否启用成功】
获取到指定的pod nameviewer=kubectl -n skiff-nsfdemo-$ns get pod| grep viewer | awk '{print $1}'根据pod name 获取指定pod IPviewerIp=kubectl -n skiff-nsfdemo-$ns get pod-o wide | grep viewer | awk '{print $6}'通过cur
·
获取到指定的pod name
viewer=
kubectl -n skiff-nsfdemo-$ns get pod | grep viewer | awk '{print $1}'
根据pod name 获取指定pod IP
viewerIp=
kubectl -n skiff-nsfdemo-$ns get pod -o wide | grep viewer | awk '{print $6}'
通过curl命令返回的参数判断请求是否成功
curl -I -s --connect-timeout 5 -m 5 -w "%{http_code}" -o /dev/null http://$viewerIp:8790/echobyecho?time=1
ns=$1
./shell.sh时可以传参,例如./shell.sh test
即test=$1
#!/bin/bash
ns=$1
viewer=`kubectl -n skiff-nsfdemo-$ns get pod | grep viewer | awk '{print $1}'`
viewerIp=`kubectl -n skiff-nsfdemo-$ns get pod -o wide | grep viewer | awk '{print $6}'`
HttpCode=`curl -I -s --connect-timeout 5 -m 5 -w "%{http_code}" -o /dev/null http://$viewerIp:8790/echobyecho?time=1`
if (( "$HttpCode"=="200" ));then
echo "*************************"
echo "HTTP-DEMO 可用!(skiff-nsfdemo-$ns)"
else
echo "*************************"
echo "HTTP-DEMO 不可用!(skiff-nsfdemo-$ns)"
echo "重启所有skiff-nsfdemo-$ns下HTTP-DOMO...预计两分钟"
HttpDemo=`kubectl -n skiff-nsfdemo-$ns get pod | grep -v dubbo | grep -v NAME | awk '{print $1}'`
kubectl delete pod -n skiff-nsfdemo-$ns $HttpDemo
sleep 120s
echo "HTTP $ns服务重启完成"
fi
DubboCode=`curl -I -s --connect-timeout 5 -m 5 -w "%{http_code}" -o /dev/null http://$viewerIp:8790/dubbo/send/provider`
if (( "$DubboCode"=="200" ));then
echo "*************************"
echo "Dubbo-DEMO 可用!(skiff-nsfdemo-$ns)"
else
echo "*************************"
echo "Dubbo-DEMO 不可用!(skiff-nsfdemo-$ns)"
echo "重启echo服务...预计2分钟"
DubboEcho=`kubectl -n skiff-nsfdemo-$ns get pod | grep echo | awk '{print $1}'`
kubectl delete pod -n skiff-nsfdemo-$ns $DubboEcho
sleep 120s
echo "重启wall服务...预计2分钟"
DubboWall=`kubectl -n skiff-nsfdemo-$ns get pod | grep wall | awk '{print $1}'`
kubectl delete pod -n skiff-nsfdemo-$ns $DubboWall
sleep 120s
echo "重启viewer服务...预计2分钟"
DubboViewer=`kubectl -n skiff-nsfdemo-$ns get pod | grep viewer | awk '{print $1}'`
kubectl delete pod -n skiff-nsfdemo-$ns $DubboViewer
sleep 120s
echo "Dubbo $ns服务重启完成"
echo "*************************"
fi
更多推荐
已为社区贡献8条内容
所有评论(0)