如何检查命名空间是否处于活动状态
How to check if a namespace is active
我正在使用以下命令检查命名空间是否处于活动状态
kubectl wait --for=condition=items.status.phase=Active namespace/mynamespace --timeout=2s
这总是 returns“错误:等待 namespaces/mynamespace 上的条件超时”,尽管命名空间处于活动状态。
是否有等待命名空间激活的正确方法?此脚本是检查命名空间在 AKS 群集重启后是否处于活动状态的作业的一部分。
迄今为止 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
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 秒的超时值。
我正在使用以下命令检查命名空间是否处于活动状态
kubectl wait --for=condition=items.status.phase=Active namespace/mynamespace --timeout=2s
这总是 returns“错误:等待 namespaces/mynamespace 上的条件超时”,尽管命名空间处于活动状态。 是否有等待命名空间激活的正确方法?此脚本是检查命名空间在 AKS 群集重启后是否处于活动状态的作业的一部分。
迄今为止 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
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 秒的超时值。