Helm pass 属性范围

Helm pass range of properties

我正在尝试传递值(描述可以是 ["First description","Second description"],但相同)。

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 和
  • --设置数=秒

为我有第一和第二的所有单词设置这个数字。

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