include in helm 有什么用

Jit*_*r S 21 kubernetes kubectl kubernetes-helm

我搜索了很多但没有得到正确的答案,helm 中的 include 和 {{}} 有什么区别。

前任 :

metadata:
  name: {{ include "cluster-dev.fullname" . }}
Run Code Online (Sandbox Code Playgroud)

难道不能是这样吗

metadata:
  name: {{ Values.nameOverride }}
Run Code Online (Sandbox Code Playgroud)

Laz*_*ass 9

include旨在与模板一起使用,而不是简单地输出值。

\n

根据文档

\n
\n

为了能够包含模板,然后对该 template\xe2\x80\x99s 输出执行操作,Helm 有一个特殊的 include 函数:

\n

{{ include "toYaml" $value | indent 2 }}

\n

上面包含一个名为toYaml,pass it的模板$value,然后将该模板的输出传递给该indent函数。

\n
\n

  • @JithinKumarS 除了[这个](/sf/ask/4170284891/#comment113211581_59575498),`{{ .Values.nameOverride }}`是您如何从values.yaml(或其他*.yaml或--set)访问数据,其中`{{ include "cluster-dev.fullname" 。}}` 来自 `_helpers.tpl`,您希望这个 `fullname` 在条件 A 中为 X,在条件 B 中为 Y,或者可以使用进一步处理 `template` 操作来代替 `include` 函数更多关于 `include` 的信息与“模板”[此处](https://helm.sh/docs/chart_template_guide/named_templates/#the-include-function) (15认同)
  • 令人困惑的是 Helm 的措辞。他们说你包含了一个模板,但你包含了一个函数而不是模板。但您也可以包含一个模板。 (2认同)