helm/go 模板中具有不同值的参考值键

Reference value key with different value in helm/go template

我想知道是否可以像这样使用一个值作为另一个值的对象键?

...
spec:
  replicas: {{ .Values[.Release.Namespace].replicas }}
...

当我的 values.yaml 是这样的:

production:
  replicas: 2
staging:
  replicas: 1

我是这样安装的:

helm install --namespace production my-release .

如果不行,有没有其他方法可以实现?

安装舵图时可以使用多个值文件。您可以有一个 "default" values.yaml,然后有多个 values.env.yaml 文件,其中包含每个环境的特定设置。

所以你会:

values.yaml

someConfigForAllEnvironments: true

values.staging.yaml

replicas: 1

values.production.yaml

replicas: 2

template.yaml

...
spec:
  replicas: {{ .Values.replicas }}
...

您将安装:

helm install --namespace production my-release -f values.production.yaml

看看类似的案例:。 您使用索引模板函数,尽管它的值布局与您的略有不同; {{ index (index .Values .Release.Namespace) "replicas" }} 应该可以。

安装 helm chart 时可以使用多个值文件。您可以有一个 "default" values.yaml,然后有几个 values.env.yaml 文件,其中包含每个环境的特定设置。

您可以遍历 "namespaces" 并使用与当前命名空间匹配的那个。