gpt4 book ai didi

kubernetes - 掌控可选的嵌套变量

转载 作者:行者123 更新时间:2023-12-04 01:42:50 24 4
gpt4 key购买 nike

如何在值文件中创建一个可选块,然后在模板中引用它?

例如,假设我有一个类似于以下内容的值文件:

# values.yaml
foo:
bar: "something"

然后我有一个 Helm 模板,看起来像这样:
{{ .Values.foo.bar }}

如果我要使values文件中的foo.bar可选,该怎么办?如果值中不存在 foo键,则会引发错误。

我试着添加,如果有条件的话。但是,如果缺少 foo键,此操作仍将失败:
{{ if .Values.foo.bar }}
{{ .Values.foo.bar }}
{{ end }}

任何想法都将不胜感激。

最佳答案

大多数图表会将父对象默认为values.yaml中的空 map ,因此它始终存在。

foo: {}

然后 {{ if .Values.foo.bar }}起作用。

如果不可能,请同时测试两个键:
{{ if .Values.foo }}
{{ if .Values.foo.bar }}
{{ .Values.foo.bar }}
{{ end }}
{{ end }}

在这种情况下,由于 and会评估所有参数,因此即使第一个参数为false,也无法使用 and函数。

如果您需要检查是否存在false或空值,则 sprig中还包含 hasKey函数:
{{ if hasKey .Values.foo "bar" }}

关于kubernetes - 掌控可选的嵌套变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59795596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com