【问题标题】:How to check if a Kubernetes object is fully deleted?如何检查 Kubernetes 对象是否被完全删除?
【发布时间】:2018-11-26 01:42:49
【问题描述】:

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

【问题讨论】:

    标签: kubernetes


    【解决方案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 &lt;pod-name&gt;返回错误,因为它不存在。

    【讨论】:

    • 我知道为时已晚,但是什么意思->​​ pod 2>&1 >/dev/null;泰。
    【解决方案2】:

    如果您想立即删除 pod,请使用它。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        使用--wait 选项,即:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          • 2022-12-08
          • 1970-01-01
          • 1970-01-01
          • 2023-02-13
          • 1970-01-01
          相关资源
          最近更新 更多