简单的shell连写判断对应pod是否创建

当前的运维监控是比较简陋的,运维程序在kubectl apply YAML配置后需要判断是否成功创建对应的pod, 嫌调用 kubenetes 的接口太麻烦,就直接用了 shell 命令行, 这里简单记录下:

var svrName = "xxx";
var yamlFileName = "test.{svrName}.yaml";
var timeoutSecond = 100;
var k8SJob = "svrName-job";
var cmd = "kubectl create -f {yamlFileName} \
&& ret=0 \
&& podret=running \
&& loop=0 \
&& while [[loop -le {timeoutSecond} ]];\
do\
sleep 1 \
&& loop=`expr loop+1` \
&& ret=`kubectl get job {k8SJob} | grep tl | awk '{{print3}}'` \
&& podret=`kubectl get pod | grep {k8SJob} | awk '{{print 3}}'` \
&& echoret podret \
&& if [[ret -eq 1 ]] || [[ \"podret\" == \"Error\" ]];then \
break ;\
fi; \
done \
&& pod=`kubectl get pod | grep {k8SJob} | awk '{{print1}}'` \
&& kubectl logs pod ;\
kubectl delete job {k8SJob};\
if [[ret -eq 0 ]] || [[ \"$podret\" == \"Error\" ]];then \
(exit 1) ;\
fi \
&& (exit 0)";