我正在使用以下命令來檢查命名空間是否處于活動狀態
kubectl wait --for=condition=items.status.phase=Active namespace/mynamespace --timeout=2s
盡管命名空間處于活動狀態,但這始終回傳“錯誤:等待命名空間/mynamespace 上的條件超時”。是否有正確的方法來等待命名空間處于活動狀態?此腳本是在 AKS 群集重新啟動后檢查命名空間是否處于活動狀態的作業的一部分。
uj5u.com熱心網友回復:
迄今為止status還沒有得到認可condition。嘗試:
while ! [ "$(kubectl get ns <change to your namespace> -o jsonpath='{.status.phase}')" == "Active" ]; do echo 'Waiting for namespace to come online. CTRL-C to exit.'; sleep 1; done
uj5u.com熱心網友回復:
timeout_value=3
starttime=$(date %s)
while [ $(( $(date %s) - $timeout_value )) -lt $starttime ]; do
status=$(kubectl get ns mynamespace -o jsonpath='{.status.phase}')
status=${status:-"X"}
echo $status
if [ "$status" == "Active" ];then
echo " test"
break
fi
done
修改了@gohm'c 答案以包含 3 秒的超時值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443027.html
