获取到指定的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)"
        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服务重启完成"
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)"
        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 "*************************"
                    获取到指定的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}'通过curl命令返回的参数判断请求是否成功curl -I -s --connect-timeo
				
声明:本文参考 http://wxnacy.com/2019/06/06/curl-return-code/ 【适用场景】:shell脚本判断tomcat是否启动完成 【适用人群】:shell小白 【问题描述】项目有N个tomcat,互相是有依赖的。必须先启动某个tomcat,才能启动其他的tomcat。如何判断tomcat是否启动完成呢? 【解决方案】 curl -sIL -w “%{http_code}\n” -o /dev/null http://baidu.com 打印出状态码: echo $(cu
最近在做CI/CD,其中就不乏编写脚本,在进行新版本发布后,需要重新启动程序,这里需要等待程序启动成功后,再进行测试脚本的执行。在Linux系统下直接使用 curl 命令调用http,非常方便。在windows下,我安装了curl,进行尝试,直接在cmd窗口中调用,命令输出为我期待的结果,但是写入bat中捕获不了输出结果,所以最后windows下采用的自己编写java程序进行判断的方式。 linu...
这篇我们介绍一下怎样利用 shell 的功能去封装一个 curl 的请求 并把请求的结果做个初步的判断 这个只是个最简单的,如果有需要可以在这个基础上进行各种其他的判断,结合一些其他的工具对网站进行监控。 执行脚本: ./curl.sh www.baidu.com #!/bin/bash function httpRequest() #curl 请求 通过curl命令来访问指定的url curl -I -m 10 -o /dev/null -s -w %{http_code} http://localhost:8080/test curl参数说明: -I --head 仅返回头部信息,使用HEAD请求 -m 10 最多查... #****************************************************** # Author : 枫叶20214 # Last modified : 2021-06-06 # Filename : restart-pod # Description : 批量重启pod服务 #****************************
rancher kubectl get pod -n ${k8sNamespace} | grep Evicted | awk '{print \$1}' | xargs -i rancher kubectl delete pod {} -n ${k8sNamespace} num=0 while [[ ${num} -lt 60 ]] echo "INFO:Begin Upgrade ${serviceName},Please Wait..." sleep 10
由于Kubernetes是一个分布式系统,并且组件特别的多,分布式系统有一个很大的难点就是应用管理,当其中一个组件或者服务损坏的时候,必须能够在承受的时间内发现它,并且最终修复它,而且,这些都是不需要人为干预的。 默认情况下,一旦k8s里面有pod中的Container启动,就向他发送通讯请求,而当通讯中断并且在规定时间内无法恢复的时候,便认定该pod崩溃,并且会重启该pod,但是,k8s提供了一种更好方式来监控pod内部Container的状态,就是健康探测器,探测器有两种,liveness和...