Kubernetes 我可以在给定图表的所有版本上运行Helm命令吗?
我经常在多个名称空间中安装伞形图的多个实例以进行测试。我希望继续使用随机生成的名称,但也能够在一个命令中删除同一图表的多个版本,而不需要为每个新的版本名称进行更改 所以对于这样的图表:Kubernetes 我可以在给定图表的所有版本上运行Helm命令吗?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我经常在多个名称空间中安装伞形图的多个实例以进行测试。我希望继续使用随机生成的名称,但也能够在一个命令中删除同一图表的多个版本,而不需要为每个新的版本名称进行更改 所以对于这样的图表: $ helm ls NAME REVISION UPDATED STATUS CHART NAMESPACE braided-chimp 1 Mon Jul 23
$ 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
但是每次我运行这个命令时,我都必须用新的发布名称来更新它
是否可以基于图表名称跨所有名称空间对给定图表的所有实例运行list/delete?(我在想kubectl
用-l
标志支持什么。)
例如,我如何才能实现与此相当的目标
$ helm delete -l 'chart=foo-platform-0.2.1'
有更好的方法吗?您可以尝试:
helmdelete$(helmls | awk'$9~/SEARCH/{print$1}')
将SEARCH
替换为要使用的任何图表名称模式
它会被抛出一点,因为awk将在空格上进行定界,时间戳有几个空格
那么,什么是传统的制表符分隔:
1=NAME
2=REVISION
3=UPDATED
4=STATUS
5=CHART
6=NAMESPACE
变成:
1=斑驳的whippet
2=1
3=Fri
4=Jul
5=20
6=13:15:45
7=2018
8=DEPLOYED
9=postgresql-0.15.0
10=namespace
我想看看用awk替代awk是否能达到同样的效果
我不是jq方面的专家,所以可能有更简单的方法试运行测试强>
假设Bash:
CHARTID=foo-platform-0.2.1
helm delete --dry-run $(helm ls --output json | jq -r ".Releases[] | select(.Chart == \"${CHARTID}\") | .Name")
对于上述示例,我希望输出为:
release "braided-chimp" deleted
release "sweet-sabertooth" deleted