Helm通过属性范围



我正在字符串中传递值(描述可以是"第一个描述"、"第二个描述",但相同(。

templates:
description: 
- First description
- Second description
name: 
- First name
- Second name
references: 
- First reference
- Second reference

对于模板属性:

templates:
- description: First description
name: First name
references:
- First reference
- description: Second description
name: Second name
references:
- Second reference

我试过

{{- range $key,$values := .Values.templates }}
- {{ $key }}: {{$values}}
{{ $key }}: {{$values}}
{{ $key }}: {{$values}}
{{- end }}

但我离结果还很远。

需要一些逻辑判断才能实现,这种转换不是一个好的解决方案

values.yaml

templates:
description:
- "First-description"
- "Second-description"
- "33333-description"
name:
- "First-name"
- "Second-name"
- "333-name"
references:
- "First-reference"
- "Second-reference"
- "3333-reference"

templateX.yaml

templates: 
{{- if $.Values.templates }}
{{- range $i, $_ := $.Values.templates.name }}
{{- range $k, $v := $.Values.templates }}
{{- if eq $k "description" }}
- {{ $k }}: {{ index $v $i }}
{{- else if eq $k "references" }}
{{ $k }}:
- {{ index $v $i }}
{{- else }}
{{ $k }}: {{ index $v $i }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

更好的方法是尝试更新values.yaml 中数据的定义格式

像这样:

values.yaml

templates:
- description: First-description
name: First-name
references:
- First-reference
- description: Second-description
name: Second-name
references:
- Second-reference
- description: 3333-description
name: 3333-name
references:
- 3333-reference
- description: 4444-description
name: 4444-name
references:
- 4444-reference

templateX.yaml

templates: 
{{- toYaml $.Values.templates | nindent 2 }}

如何使用--set设置这些参数。示例:

  • 添加时我想要--set number=First and
  • --set number=秒

这个数字是为我有First和Second的所有单词设置的。

templates:
- description: First-description
name: First-name
references:
- First-reference
- description: Second-description
name: Second-name
references:
- Second-reference

最新更新