如何检查Kubernetes对象是否已完全删除?

时间:2018-10-19 19:14:57

标签: kubernetes

我正在尝试创建一个自动管道,该管道将在命名空间上一个接一个地运行多个pod。当前的问题是,在两次运行之间,我想等待Pod被完全删除,然后再运行下一个。有什么方法可以检查给定的Pod是否已完全删除?

当前脚本:

kubectl delete -f pod.yaml
sleep 10
kubectl create -f pod.yaml
error when creating "pod.yaml": object is being deleted: pods "test-pod" already exists

4 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

kubectl delete -f pod.yaml
until kubectl get pod <pod-name> 2>&1 >/dev/null; do sleep 10; done
kubectl create -f pod.yaml

基本上,等到kubectl get pod <pod-name>返回错误,因为它不存在。

答案 1 :(得分:1)

如果要立即删除该窗格,请使用它。

kubectl delete pod NAME --grace-period=0 --force

答案 2 :(得分:0)

kubectl 1.11+在删除返回之前等待删除完成。

答案 3 :(得分:-1)

使用--wait选项,即:

kubectl delete -f your.yaml --wait=true