Helm 删除所有版本

Helm delete all releases

我正在尝试找到一种方法来删除 Helm 中所有已部署的版本。

似乎 Helm does not support 删除了所有版本,--all 或其他版本。

是否有另一种方法可以在一个命令中删除所有 Helm 版本?

要使用单个命令删除 Linux(在 Helm v2.X 中)中的所有 Helm 版本,您可以使用一些旧的 bash。只需将 helm ls --short 的输出传输到 xargs,并为每个返回的版本传输 运行 helm delete

helm ls --all --short | xargs -L1 helm delete

根据@Yeasin Ar Rahman 的评论,添加 --purge 也会删除图表。

helm ls --all --short | xargs -L1 helm delete --purge

在 Windows,您可以再次使用此命令删除所有版本,--purge 也删除图表。

helm del $(helm ls --all --short) --purge

我也经常删除 Helm 中的所有版本,所以我认为为它制作一个 Helm 插件会很有用。

安装:

helm plugin install https://github.com/tedmiston/helm-delete-all-plugin --version 0.0.3

(您可以在较新版本的 Helm 上省略 --version x 部分。)

用法:

helm delete-all

https://github.com/tedmiston/helm-delete-all-plugin

helm delete $(helm ls --short)

描述:

helm ls --short 给出发布 ID 列表。

helm delete id1 id2 id3 删除 ID 为:id1id2id3.

的版本

所以结合它们我们得到: helm delete $(helm ls --short)

这在 powershell cmd 中对我有用 window:

helm del $(helm ls --all --short) --purge

对于 helm 3 你必须提供命名空间所以在 xargs 之前有一个 awk 步骤:

helm ls -a --all-namespaces | awk 'NR > 1 { print "-n ", }' | xargs -L1 helm delete

这会导致如下命令:

helm delete -n my-namespace my-release

有一个非常好的插件可以从所有命名空间中删除所有 helm 版本(这个 post 中的前一个插件对我不起作用)。 安装:

helm plugin install https://github.com/BarelElbaz/helm-delete-all

用法:

helm delete-all

您可以提供更多标志,例如 --deletePersistent 用于删除 PVC 或通过 --except-namespace

跳过特定命名空间