Ami*_*dav 2 yaml kubernetes-helm
我目前有 3 个 Helm 存储库,其结构如下:
repoA/
??? templates/
??? Chart.yaml
??? values.yaml
repoB/
??? templates/
??? Chart.yaml
??? values.yaml
masterRepo/
??? templates/
??? Chart.yaml
??? values.yaml
??? requirements.yaml
Run Code Online (Sandbox Code Playgroud)
masterRepo 中的 requirements.yaml 文件如下所示:
dependencies:
- name: repoA
version: "1.0"
repository: "file://../repoA"
condition: repoA.enabled
- name: repoB
version: "1.0"
repository: "file://../repoB"
condition: repoB.enabled
Run Code Online (Sandbox Code Playgroud)
我只想使用masterRepo来部署依赖的 Helm 图表。
我知道我可以手动把所有的子库中masterRepo/charts,它会工作,但我想要保留这些存储库的独立,使其他主存储库可以使用任何的
如何使父 Helm 图表检测所有必需的 Helm 图表并有条件地(基于repoX.enabled变量)安装它们,而不将依赖的存储库保留charts在 Master-helm-chart的目录中?
如果您在系统的不同位置有多个 Helm 图表,您可以在不更改它们的位置的情况下创建依赖项。
使用问题中指定的结构,我们可以在requirements.yaml(对于 Helm 版本:)2.x.x或Chart.yaml(对于 Helm 版本:)中添加依赖项3.x.x。我目前正在使用Helm v2.16.1。
现在只需运行helm dependency update或helm dep up从masterRepo目录内部运行,就会创建一个图表目录。现在masterRepo的更新结构如下所示:
masterRepo/
??? charts/
??? chartA-1.tgz
??? chartB-1.tgz
??? templates/
??? Chart.yaml
??? requirements.lock
??? requirements.yaml
??? values.yaml
Run Code Online (Sandbox Code Playgroud)
添加的新文件/目录是:
要有条件地安装儿童图表,你可以在以下values.yaml的文件masterRepo:
repoA:
enabled: True
repoB:
enabled: True
Run Code Online (Sandbox Code Playgroud)
现在helm install来自masterRepo内部的一个简单命令将部署masterRepo及其依赖项(chartA和chartB)。
希望这可以帮助。海尔明快乐!
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |