kubernetes 如何检查命名空间是否处于活动状态

w41d8nur  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(3)|浏览(135)

我正在使用以下命令来检查命名空间是否处于活动状态

kubectl wait --for=condition=items.status.phase=Active namespace/mynamespace --timeout=2s

字符串
这总是返回“error:虽然名称空间处于活动状态,但等待namespaces/mynamespace”上的条件时超时。是否有正确的方法来等待命名空间处于活动状态?此脚本是在AKS群集重新启动后检查命名空间是否处于活动状态的作业的一部分。

dfuffjeb

dfuffjeb1#

到目前为止,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

i34xakig

i34xakig2#

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秒的超时值。

ckocjqey

ckocjqey3#

你可以在任意的jsonpath上等待:

kubectl wait --for jsonpath='{.status.phase}=Active' --timeout=5s namespace/default

字符串

相关问题