获取到指定的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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐