Helm 图表与变量注册表的依赖关系

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

我正在开发舵图。每个图表都有多个依赖项,这些依赖项在 Chart.yaml 中声明为依赖项。注册表字段必须指向私有注册表。但是,我必须将图表部署在具有不同可用私有注册表的不同环境中。 目前,我必须为每个环境创建一个 helm 图表,以便为依赖项设置正确的注册表。

示例:

  • 环境A

MyChart 的 Chart.yaml:

dependencies:
- name: aChart
 version: x.x.x
 repository: registryA
  • 环境B

MyChart 的 Chart.yaml:

dependencies:
- name: aChart
 version: x.x.x
 repository: registryB

我只想使用一次 MyChart 并动态设置/操作存储库字段。有谁知道我怎样才能做到这一点?也许定制?

kubernetes-helm
1个回答
0
投票

您可以使用

condition
enable/disable
依赖关系图
Chart.yaml
文件中将包含几个依赖项

dependencies:
- name: aChart
  version: x.x.x
  repository: registryA
  condition: aChart.enabled
  alias: aChart
- name: aChart
  version: x.x.x
  repository: registryB
  condition: bChart.enabled
  alias: bChart

然后,您可以在整个环境中使用此

chart
,并且在每个环境的文件
values.yaml
中将仅启用必要的依赖项。

举个例子

values-A.yaml

aChart:
  enabled: true
  ...
  ...
  ...
bChart:
  enabled: false

values-B.yaml

aChart:
  enabled: false
bChart:
  enabled: true
  ...
  ...
  ...
© www.soinside.com 2019 - 2024. All rights reserved.