【问题标题】:kubectl rollout status for ALL deployments in a namespace命名空间中所有部署的 kubectl 部署状态
【发布时间】:2019-09-20 07:21:20
【问题描述】:

我的命名空间中有许多部署对象。我想同时为所有这些运行kubectl rollout status。所以,我希望命令退出,只有在所有部署完成或发生错误时。我怎样才能做到这一点?

到目前为止,我唯一得到的是:

kubectl get deploy -o name | xargs -n1 -t kubectl rollout status

但我希望有更聪明的东西。

【问题讨论】:

  • 我认为你做不到。
  • 部署是否相关?如果是这样,定义掌舵图可能有意义
  • 部署在 helm 图表中,但我没有在 helm 图表上使用 --wait,因为它有一个错误 -> github.com/helm/helm/issues/3173

标签: kubernetes rollout


【解决方案1】:

您可以使用这个简单的检查:

#!/bin/bash
deploy=$(kubectl get deploy -o name)
for i in $deploy; do kubectl rollout status $i -w --timeout=30s; done

您还可以使用post 中的线索构建更高级的脚本。

【讨论】:

    【解决方案2】:

    所以我想我想出的是最好的。

    kubectl get deploy --output name | \
      timeout -t 300 \
        xargs -n1 -t \
          kubectl rollout status
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-08
      • 2021-01-24
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2018-12-06
      相关资源
      最近更新 更多