登录
首页 >  Golang >  Go问答

如何在kubernetes中使用 Helm 查找值的 $val 地图?

来源:stackoverflow

时间:2024-02-22 23:42:24 205浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《如何在kubernetes中使用 Helm 查找值的 $val 地图?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我在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.

正确答案


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

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

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

到这里,我们也就讲完了《如何在kubernetes中使用 Helm 查找值的 $val 地图?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>