我正在尝试创建一个 shell 脚本,该脚本将通过检查显示 1/1 的 READY 标题来验证某些 pod 是否已准备好。我尝试了两种方法。
1.
ready=$(oc get pods | awk '{print $2}' | tail -n +2) # prints 1/1 or 0/1 for each pod
until [[ ${ready} == "1/1" ]]
do
echo "Waiting for pods to be ready."
sleep 3
done
即使 pod 已准备好并在 READY 列中显示 1/1,上面的脚本也会一直说“等待 pod 准备好”。
2.
while true ; do
for i in 1 2 3; do
ready=`oc get pods | awk '{print $2}' | tail -n +2 | head -n $i`
if [[ "${ready}" == "1/1" ]]; then
echo "pods are up and running"
else
echo "waiting for pods to be ready"
sleep 10
break
fi
done
done
上面的脚本只是不断地打印等待 pod 准备好并且 pod 启动并运行。
任何帮助将不胜感激,我从 Bash 开始,不太确定该怎么做。