小编Pet*_*ars的帖子

无法从传入非全局上下文的命名模板访问 helm .Values

我正在尝试使用 Helm 命名模板,我计划将其包含在多个不同的上下文中,并且该模板具有许多对于所有上下文都相同的值。

每当我将上下文传递给命名模板templateinclude调用命名模板时,对的引用都.Values不起作用,这是可以理解的,因为我显式设置了较低的上下文。

的 Helm 文档with中,它声称有一个“全局”变量$,允许引用全局.Values例如, {{ $.Values... }}。这不起作用(下面的示例显示了错误)。

我还尝试定义变量(使用:=)并“封闭”该变量定义中的包含内容(通过缩进 - 我不知道这是否重要)以使该变量在命名模板中可用,但这也不起作用。

我还尝试将它们放入“全局变量”中,如此处所述,这更像是一个子图,但这也不起作用。

因此,我已经没有 Helm 技巧来完成这项工作,并且遗憾的是必须多次重新定义这些相同的变量 - 这使得整个命名模板解决方案有点不那么优雅 - 或者只是回到大部分重复部分 -参数化模板。

我缺少什么?

$ helm version
Client: &version.Version{SemVer:"v2.9+unreleased", GitCommit:"", GitTreeState:"clean"}
Run Code Online (Sandbox Code Playgroud)

值.yaml:

---
commonSetting1: "common1"
commonSetting2: "common2"
context1:
  setting1: "c1s1"
  setting2: "c1s2"
context2:
  setting1: "c2s1"
  setting2: "c2s2"
Run Code Online (Sandbox Code Playgroud)

部署.yaml:

---
{{- define "myNamedTemplate" }}
      - name: {{ .setting1 }}
        image: …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

3
推荐指数
1
解决办法
1960
查看次数

标签 统计

kubernetes-helm ×1