0

我需要多次将相同的 helm Chart 安装到不同的命名空间。该图表包含集群范围的资源,例如 ClusterRoles 或 CustomResourceDefinitions。

问题是我只能安装一次,第二次出现“已经存在,不受 helm 管理”错误。

我试过的:

  • 将 CRD 放在单独的文件夹中效果很好,但我不能这样做,因为我的 CRD 包含 helm 值并且 crds 文件夹不接受模板。
  • 使用这样的东西:
{{- $crds := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace "path.to.new.crd" -}}
{{- if not $crds -}}
{{- end }}

但这也不理想,因为如果我将同一个 helm 安装到同一个命名空间两次,资源将被删除,第三次它们再次出现,第四次它们消失,依此类推。

有人对此有更优雅的解决方案吗?

4

0 回答 0