Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 我可以在给定图表的所有版本上运行Helm命令吗?_Kubernetes_Kubernetes Helm - Fatal编程技术网

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