Helm:如何将元素添加到默认值列表中?

Helm:如何将元素添加到默认值列表中?

这可能是一个非常简单的问题,但不知为何我无法通过谷歌找到答案。

假设我们有一个 Helm 图表,其中包含一些默认值,例如:

parameters:
- parameterName: parameter1
  value: value1
- parameterName: parameter2
  value: value2

我需要在我的额外值文件中向此列表添加一个元素。当然,我可以将默认值复制到我的额外值文件中,然后向其中添加我的额外参数:

parameters:
- parameterName: parameter1
  value: value1
- parameterName: parameter2
  value: value2
- parameterName: parameterN
  value: valueN

我不喜欢这个想法,因为当这个 Helm 图表的维护者更改他们的默认设置时,我的默认设置将会覆盖而不是遵循他们。

parameterN将我的添加到默认值的正确方法是什么?

提前致谢?

答案1

根据https://github.com/helm/helm/issues/6569,这是不可能的。这是设计使然,因为列表被设计为不可变数据。该 github 问题上的答案建议使用映射而不是列表,如果这在您的情况下是可能的。

答案2

你可以使用 Kustomize 来实现这一点,并安装一个 json9602 patch,具体描述如下https://skryvets.com/blog/2019/05/15/kubernetes-kustomize-json-patches-6902/#append-to-a-list将 Kustomize 与 Helm 结合起来的一个好方法:https://austindewey.com/2020/07/27/patch-any-helm-chart-template-using-a-kustomize-post-renderer/

相关内容