为每个命名空间定义值

atk*_*yla 2 go-templates kubernetes kubernetes-helm

值.yaml

replicas: {
  test: 1,
  stage: 2,
  prod: 3
}
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试使用 Helm 模板来定义每个命名空间的副本数,但不确定正确的语法和模式:

部署.yaml

replicas: {{ .Values.replicas.{{ .Release.Namespace }} }}
Run Code Online (Sandbox Code Playgroud)

因此,如果将其部署到--namespace=prod,我希望模板返回:

# .Values.replicas.prod
replicas: 3
Run Code Online (Sandbox Code Playgroud)

Dav*_*aze 5

标准 Go文本/模板库提供的所有模板函数都可用。特别是,它包括一个index可以在数组或地图对象中进行动态查找的函数。

replicas: {{ index .Values.replicas .Release.Namespace }}
Run Code Online (Sandbox Code Playgroud)