簡體   English   中英

我可以使用 _helpers.tpl 中的函數在舵圖中填寫 values.yaml 嗎?

[英]Can I use functions from _helpers.tpl to fill out values.yaml in helm charts?

現在,我有一個 values.yaml,其中的部分看起來有點像這樣:

...
imageName:
  ports:
    - containerPort: 7980
      name: db0
      protocol: TCP
    - containerPort: 7981
      name: db1
      protocol: TCP
    - containerPort: 7982
      name: db2
      protocol: TCP
    - containerPort: 7983
      name: db3
      protocol: TCP
    - containerPort: 7984
      name: db4
      protocol: TCP
    - containerPort: 7985
      name: db5
      protocol: TCP
    - containerPort: 7986
      name: db6
      protocol: TCP
    - containerPort: 7987
      name: db7
      protocol: TCP
    - containerPort: 7988
      name: db8
      protocol: TCP
    - containerPort: 7989
      name: db9
      protocol: TCP
    - containerPort: 7990
      name: db10
      protocol: TCP
...

我想通過在 _helpers.tpl 中創建一個函數來清理它,該函數將采用最小端口值 (7980) 和最大端口值 (7990) 並以該格式為每一個創建結構。

我想知道:這可能嗎? 我在這方面遇到了很多麻煩,並且通常使用幫助文件,所以如果有人能在正確的方向上推動我如何實現這一點,我也將不勝感激!

謝謝 :)

這應該是可能的。 假設您使用端口數和起始端口配置圖表:

# values.yaml (or a `helm install -f` values file)
numberOfPorts: 11
startingPort: 7980

您可以使用until模板函數將其轉換為數字列表:

{{- $dbs := until .Values.numberOfPorts }}

現在您可以使用標准range函數循環遍歷該列表。 在循環體內,該值將是一個從 0 到numberOfPorts - 1的整數,您可以相應地生成列表項。 另請注意, range接管. 特殊變量,因此您需要從range循環之外的.Values保存您需要的任何內容。

imageName:
  ports:
{{- $startingPort := .Values.startingPort }}
{{- range $i := until .Values.numberOfPorts }}
    - containerPort: {{ add $startingPort $i }}
      name: db{{ $i }}
      protocol: TCP
{{- end }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM