为了账号安全,请及时绑定邮箱和手机立即绑定

Helm 模板变量为零

Helm 模板变量为零

Go
慕神8447489 2022-05-10 16:16:02
我正在尝试使用模板从 values.yaml 中提取值,将它们连接到 CSV 列表中。这是我的解决方案的一个例子。值.yaml:testValue1: "string1"testValue2: "String2"credentials: - c1: "string3"- c2: "string4"_helpers.tpl:{{- define "test.template" -}}{{- $value1 := .Values.testValue1 -}}{{- $value2 := .Values.testValue2 -}}{{- $credentials := "" -}}{{- range $index, $cred := .Values.credentials -}}{{- $credentials = $cred "," $credentials -}}{{- end -}}{{- printf "%s,%s,%s" $value1 $value2 $credentials -}}{{- end -}}测试.yamltemplatedValue: {{ template "test.template" }}当我跑步时,helm template --output-dir outputs chart我得到:测试.yamltemplatedValue: %!s(<nil>),%!s(<nil>),我设置为值的两个变量都是 nil,credentials它们只是一个空字符串。如果我将 values.yaml 中的值直接放入test.yaml文件中,它可以正常工作。所以我不确定为什么要从模板中获取这些 nil 值。从 values.yaml 文件中获取值的还有其他模板_helpers.tpl,所以我不确定为什么我的模板不起作用。任何帮助是极大的赞赏。helm version: Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

该{{ template "test.template" }}操作执行"test.template"模板,但不向其传递任何参数。所以里面test.template的管道会<nil>等.Values是无效的。


引自text/template:


{{template "name"}}

  The template with the specified name is executed with nil data.


{{template "name" pipeline}}

  The template with the specified name is executed with dot set

  to the value of the pipeline.

你必须传递一些东西{{template}}。如果您没有其他信息要传递什么,请尝试传递 dot .,即当前管道。


{{ template "test.template" . }}


查看完整回答
反对 回复 2022-05-10
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信