kubernetes - 我可以在给定图表的所有版本上运行 Helm 命令吗?

标签 kubernetes kubernetes-helm

我经常跨多个命名空间安装伞形 Helm 图表的多个实例以进行测试。我想继续使用随机生成的名称,但也能够在一个命令中拆除同一图表的多个版本,而无需针对每个新版本名称进行更改。

对于这样的图表:

$ helm ls
NAME                REVISION    UPDATED                     STATUS      CHART                 NAMESPACE
braided-chimp       1           Mon Jul 23 15:52:43 2018    DEPLOYED    foo-platform-0.2.1    foo-2
juiced-meerkat      1           Mon Jul  9 15:19:43 2018    DEPLOYED    postgresql-0.9.4      default
sweet-sabertooth    1           Mon Jul 23 15:52:34 2018    DEPLOYED    foo-platform-0.2.1    foo-1

我可以通过输入版本名称来删除 foo-platform-0.2.1 图表的所有版本:

$ helm delete braided-chimp sweet-sabertooth

但是每次运行该命令时,我都必须使用新的版本名称来更新它。

是否可以根据图表名称在所有命名空间中对给定图表的所有实例运行列表/删除? (我正在考虑类似于 kubectl 使用 -l 标志支持的内容。)

例如,我怎样才能实现与此相同的效果?

$ helm delete -l 'chart=foo-platform-0.2.1'

有更好的方法吗?

最佳答案

你可以尝试:

helm 删除 $(helm ls | awk '$9 ~/SEARCH/{ print $1 }')

SEARCH 替换为您想要使用的任何图表名称模式

它会有点困惑,因为 awk 将在空格上进行分隔,而时间戳有几个空格。

那么传统上是制表符分隔的:

1=名称 2=修订 3=更新 4=状态 5=图表 6=命名空间

变成:

1=杂色鞭毛 2=1 3=星期五 4=七月 5= 20 6=13:15:45 7=2018 8=部署 9=postgresql-0.15.0 10=命名空间

关于kubernetes - 我可以在给定图表的所有版本上运行 Helm 命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51487188/

相关文章:

kubernetes - Helm 升级不会拉新容器

kubernetes - 当 ReplicaSet=2 时发现+请求 Kubernetes 上的 Kafka Streams 实例

azure kubernetes 仪表板未配置

docker - 为什么镜像在Kubernetes中的运行方式与在Docker中的运行方式不同?

nginx - K8s Helm - 带有 Nginx Ingress 的 Jenkins

amazon-web-services - 存储类的自定义配置程序

docker - 在没有注册的情况下使用 Minikube 使用 Skaffold

mongodb - 从Kubernetes中的其他服务访问服务

kubernetes - 如何使用 echoserver 在 kubernetes 中显示主机名或 pod 信息?

docker - Kubernetes上通过helm安装Prometheus后如何访问?