【问题标题】:Are helm subcharts dependent on parent charts when using global variables?使用全局变量时,helm 子图是否依赖于父图?
【发布时间】:2019-06-23 01:19:52
【问题描述】:

documentation 的 helm 子图和全局变量中,他们列出了 4 个我想重点关注的 2 个细节

  1. 子图表被认为是“独立的”,这意味着子图表永远不能显式依赖其父图表。
  2. 因此,子图表无法访问其父图表的值。
  3. 父图表可以覆盖子图表的值。
  4. Helm 有一个全局值的概念,所有图表都可以访问。

从示例看来,1 和 4 似乎是矛盾的。如果我在父图表中创建一个全局变量,然后在子图表中引用它,这不会在父图表和子图表之间创建依赖关系吗?

【问题讨论】:

    标签: kubernetes-helm


    【解决方案1】:

    子图表仍将被视为“独立”。使用全局值将创建对父图表的values.yaml 的依赖(而不是对父图表本身的显式依赖)。

    要克服这个问题,您必须在安装各个子图表时显式传递父值(通过--values 标志)。例如:

    假设如下结构:

    $ tree parent/
    parent/
    ├── charts
    │   └── child
    │       ├── Chart.yaml
    │       └── templates
    │           └── configmap.yaml
    ├── Chart.yaml
    └── values.yaml
    

    要单独安装child 子图表,您必须使用:

    helm install ./parent/charts/child/ --values ./parent/values.yaml

    在 helm 项目中有一个公开讨论 (#4767) 来改进这一点。

    【讨论】:

      猜你喜欢
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多