我正在尝试创建一个自动管道,该管道将在命名空间上一个接一个地运行多个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
答案 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