我经常在多个名称空间中安装伞形头盔图的多个实例以进行测试。我想继续使用随机生成的名称,但也可以在一个命令中删除同一图表的多个版本,而不需要为每个新的版本名称更改这些命令。
所以对于这样的图表:
$ 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 通过键入发布名称来绘制图表,如:
foo-platform-0.2.1
$ helm delete braided-chimp sweet-sabertooth
但每次运行该命令时,我都必须用新的发布名称更新它。
是否可以基于图表名称在所有命名空间中对给定图表的所有实例运行list/delete?(我在想什么 kubectl 支持 -l 旗帜)
kubectl
-l
例如,我如何才能实现与此相当的目标?
$ helm delete -l 'chart=foo-platform-0.2.1'
有更好的方法吗?
你可以试试:
helm delete $(helm ls | awk '$9 ~ /SEARCH/ { print $1 }')
替代 SEARCH 使用您想要使用的任何图表名称模式
SEARCH
它会被抛出一点,因为awk将在时间戳具有多个空格的空间上进行定界。
那么传统上用制表符分隔的内容是:
1=NAME 2=REVISION 3=UPDATED 4=STATUS 5=CHART 6=NAMESPACE
1=NAME
2=REVISION
3=UPDATED
4=STATUS
5=CHART
6=NAMESPACE
变成:
1=mottled-whippet 2=1 3=Fri 4=Jul 5=20 6=13:15:45 7=2018 8=DEPLOYED 9=postgresql-0.15.0 10=namespace
1=mottled-whippet
2=1
3=Fri
4=Jul
5=20
6=13:15:45
7=2018
8=DEPLOYED
9=postgresql-0.15.0
10=namespace