【shell脚本通过curl调用判断k8s pod 是否启用成功】

获取到指定的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
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙女肖消乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值