首页 > 解决方案 > 对 Helm 依赖管理感到困惑

问题描述

在我的父图表 Chart.yaml 我有

dependencies:
  - name: postgresql11
    repository: "@myrepo"
    version: 8.9.7
    condition: postgresql11.enabled
  - name: postgresql12
    repository: "@myrepo"
    version: 8.9.7
    condition: postgresql12.enabled

在同一个父图表 values.yaml 我有:

postgresql11:
  enabled: true

postgresql12:
  enabled: false

我的问题是,除非我运行helm dep update任何子图都不会下载和安装(我希望安装 postgresql11 子图)。如果我运行helm dep update两个子图表,则忽略我的规则集,这表明只应安装 postgresql11。

任何人都可以阐明我在这里做错了什么,以及 helm 依赖构建/更新与 Chart.yaml 中的条件规则之间的关系是什么?我也很好奇为什么enabledChart.yaml 中有一个字段似乎与该condition字段多余?我正在运行 Helm 3.2.4。

提前致谢!

标签: kubernetes-helm

解决方案


该命令helm dep update不使用values.yaml,这就是为什么即使您在values.yaml.

要了解enabledfor 依赖项,请阅读Helm:Charts文档中的“依赖项中的标签和条件字段”部分。


推荐阅读