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" 并使用与当前命名空间匹配的那个。
我想知道是否可以像这样使用一个值作为另一个值的对象键?
...
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" 并使用与当前命名空间匹配的那个。