Kubernetes helm 我如何使用;“范围”;使用存储在我的舵图的configMap中的数组

Kubernetes helm 我如何使用;“范围”;使用存储在我的舵图的configMap中的数组,kubernetes-helm,go-templates,Kubernetes Helm,Go Templates,我正在尝试将配置存储在configMap中: apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-config namespace: {{ .Values.global.config.namespace }} data: QueryInterval: {{ .Values.queryEngineServiceOptions.queryInterval | quote

我正在尝试将配置存储在configMap中:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-{{ .Chart.Name }}-config
  namespace: {{ .Values.global.config.namespace }}
data:
  QueryInterval: {{ .Values.queryEngineServiceOptions.queryInterval | quote }}
  AllowedSymbols: {{ .Values.queryEngineServiceOptions.allowedSymbols }}
我的configMap中的数据已成功来自我的值文件:

queryengine:
  queryEngineServiceOptions:
    queryInterval: 15000
    allowedSymbols:
      0: pi
      1: upsilon
      2: gamma
      3: beta
在我的
deployment.yaml
manifest文件中,我试图转换此部分,以便它不使用值文件,而是使用configMap:

env:
{{- range $k, $v := .Values.queryEngineServiceOptions.allowedSymbols }}
- name: {{ printf "QueryEngineServiceOptions__AllowedSymbolsList__%s" $k }}
value: {{ $v | upper -}}
{{ end }} 
如果您不处理数组,并且可能尝试提取单个值,则可以使用valueFrom:

env:
- name: QueryIntervalSetting
  valueFrom:
    configMapKeyRef:
      name: {{ .Release.Name }}-{{ .Chart.Name }}-config
      key: QueryInterval
是否有方法将来自configMap数组/映射(可能使用valueFrom?)的值与范围操作组合在一起


目前,我的所有单值设置都来自configMap,而数组/映射值则来自values文件。理想情况下,我希望所有配置都存储在我的configMap中。

您可以在YAML中的任何位置放置Helm模板构造;所有模板呈现都发生在解析任何内容之前。您可以使用模板来构建ConfigMap,并使用一个
范围
块来重复
值from:
环境设置。