Kubernetes helm 使用变量定义其他变量

Kubernetes helm 使用变量定义其他变量,kubernetes-helm,go-templates,Kubernetes Helm,Go Templates,我试图定义一些变量,以使我的舵图不可重复 我创建了一个helpers文件,其中包含以下部分: {{ $config := .Values.service }} {{- range .Values.services }} {{ $config.$serviceName }} {{- define "{{ $serviceName }}.selectorLabels" -}} app.kubernetes.io/name: {{ .name }} app.kubernetes.i

我试图定义一些变量,以使我的舵图不可重复

我创建了一个helpers文件,其中包含以下部分:

{{ $config := .Values.service }}
{{- range .Values.services }}
{{ $config.$serviceName }}
{{- define "{{ $serviceName }}.selectorLabels" -}}
app.kubernetes.io/name: {{ .name }}
app.kubernetes.io/instance: {{ .instance }}
{{- end -}}
{{- end -}}
values.yaml:

services:
- service1
- service2
- service3

service:
- service1:
    name: service1

- service2:
    name: service2
    
- service3:
    name: service3
但它会不断提示错误字符U+0024'$'

您知道如何通过其他变量定义变量吗?

和Helm的本地扩展都无法定义具有动态名称的模板。
define
调用中的名称必须是固定字符串。文本/模板文档注释(在“嵌套模板定义”下):

模板定义必须出现在模板的顶层。。。。定义操作通过提供字符串常量来命名正在创建的模板

但是,模板采用(单个)参数。不必为每个动态指定的值定义单独的模板,您可以定义一个生成此内容的模板,然后使用动态设置调用它


{{-define“selectorLabels”-}{{/*这能回答您的问题吗?还是?