如何使用jsonpath和shell脚本定义是否有一个kubernetes pod未就绪?

rpppsulh  于 2023-10-23  发布在  Shell
关注(0)|答案(1)|浏览(115)

我有一个脚本,如果带有特定标签的pod没有准备好,该脚本将处于睡眠状态。但它不工作,如果有几个豆荚(以这种方式,它需要像条件!=“true true true”)。如果有一个pod没有准备好(ready = false),我该如何检查?

while [ "$(kubectl get pods -l=app.kubernetes.io/instance=loki -n grafana -o jsonpath='{.items[*].status.containerStatuses[0].ready}')" != "true" ]; do
   sleep 5
   echo "Waiting for Loki to be ready."
done
vd2z7a6w

vd2z7a6w1#

您可以检查是否有pod的.ready等于false,如下所示:

while kubectl get pods \
    -l=app.kubernetes.io/instance=loki \
    -n grafana \
    -o jsonpath='{.items[*].status.containerStatuses[0].ready}' | grep -q false; do
   echo "Waiting for Loki to be ready."
   sleep 5
done

相关问题