我经常跨多个命名空间安装伞形 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/