我有一個k8s資源的通用模板,我想擴展n次(如果您好奇,這樣我可以創建mongo集羣的n個成員,並且他們使用statefulset資源,以便每個成員都擁有穩定的網絡名稱)。kubernetes-helm模板可以使用變量嗎?
很顯然,每次循環都需要不同的值。我正在循環由Sprig「until」函數生成的一系列索引。但是循環的$ index沒有在「。」中設置。命名空間。所以我無法在我的_helpers.tpl文件中引用我定義的模板中的當前迭代。
這裏有一個例子模板瓦特/全K8S資源YAML(我縮寫大部分):
{{- define "mytest" -}}
---
apiVersion: apps/v1beta1
kind: StatefulSet
abbreviated...
containers:
- name: mongod-$index
abbreviated...
{{- end -}}
來電者:
{{ range $index, $e := until .Values.mongod_count }}
{{include "mytest" .}}
{{ end}}
我只是得到:未定義的變量「$指數
{{ $foo := "somevalue" }}
{{ define "my_extra_labels" }} bla {{ .Values.test }}_{{$foo}}{{end}}
{{ template "mytest" . }}
:「
我有塊我(主叫)模板嘗試過,像這樣
這在我_helpers.tpl
{{/* Test stuff */}}
{{- define "mytest" -}}
hello: world_how_are_{{ block "my_extra_labels" . }}{{ end }}
{{- end -}}
變量$ foo的不是在 「定義」 身體定義。
此模板範圍感受到如此嚴格的限制,目前我看不到如何使用它來解決我目前的情況。
有沒有辦法將變量推入「。」命名空間?如果是這樣(穿過我的手指)有沒有辦法以某種方式合併命名空間,這樣我仍然可以訪問.Values和.Chart變量?