【问题标题】:helm chart template: if value does not exist, defaults to truehelm 图表模板:如果 value 不存在,则默认为 true
【发布时间】:2021-05-21 17:08:12
【问题描述】:

我试图声明,如果变量为真或不存在(即 var 的默认值为真),则应该存在 helm 模板中的代码块。以下作品:

    {{- if or .Values.livenessProbe (not (hasKey .Values "livenessProbe")) }}
    ...
    {{- end }}

这似乎很复杂,有没有更简单的?我以几种方式尝试了default 函数,但它们都导致忽略该值(存在与否,真或假,块总是被渲染):

    {{- if (default true .Values.livenessProbe) }}
    ...
    {{- end }}

【问题讨论】:

    标签: templates kubernetes-helm go-templates


    【解决方案1】:

    请参阅https://helm.sh/docs/chart_template_guide/function_list/#default 以了解为什么default 无法按预期工作:布尔值 false 被视为“空”,因此当值为 false 时,默认返回默认值,即忽略实际值!

    我还找到了https://github.com/helm/helm/issues/3308,说明很多人都被这个绊倒了。查看该问题中的其他解决方案,我觉得我的(作为问题的一部分发布)实际上是最简单的,但很不幸。

    【讨论】:

      【解决方案2】:

      在双引号中使用 false 值,因此 helm 中的默认值会将其视为字符串而不是 null。以下设置对我有用。

      valuekey: "false"
      

      【讨论】:

        猜你喜欢
        • 2022-08-13
        • 2012-07-23
        • 2021-10-27
        • 2021-03-26
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多