使用全局变量时,helm子图是否依赖于父图表?

问题描述 投票:1回答:1

documentation中为helm子图和全局变量,它们列出了4个我要关注的2个细节

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

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

kubernetes-helm
1个回答
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)来改进这一点。

© www.soinside.com 2019 - 2024. All rights reserved.