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

如何使用 $val 从 kubernetes 的 helm 地图中获取价值?

如何使用 $val 从 kubernetes 的 helm 地图中获取价值?

Go
精慕HU 2023-03-07 17:16:27
我在 values.yaml 中得到了一张地图:Schedule:  app1: node01  app2: node07  app3: node13我想在 template/app.yaml 中使用它:{{- $tuplei := untilStep 1 4 1 -}}{{- range $keyi, $vali := $tuplei }}---spec:  template:    spec:      nodeName: {{ $.Values.Schedule.node$vali }}它不能工作:错误:解析错误 (xxx/templates/app.yaml:51): 坏字符 U+0024 '$' helm.go:94: [debug] 解析错误 (xxx/templates/app.yaml:51): 坏字符 U+0024 '$'我已经尝试了一些方法,但仍然无法做到。#{{- $ScheduleName :=  printf "app%d" $vali }}#nodeName: get $.Values.Schedule "$ScheduleName"#can't work, too.
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

Gotext/template语言包含一个函数,它通过键或索引进行index任意查找。所以你最后的形式几乎是正确的:你需要在一个字符串中构造键,然后使用index它来检索它。

{{- $scheduleName := printf "app%d" $vali -}}
nodeName: {{ index $.Values.Schedule $scheduleName }}

确保不要引用$scheduleName变量引用,以免模板语言将其解释为字符串文字。


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号