我正在建立一个管道,用于在不同的环境中启动一些舵机图。主舵机(v3.0.2)图有一些依赖关系,可以在下面的 "我的 "中找到。稳定的 头盔仓库。所有的环境中都会添加这个功能,但是由于我不说的原因,它们被添加了不同的名称。根据 舵手文件 你应该能够定义 贮藏室 无论是通过名称还是通过 URL,只要它仍然被添加到你的 helm repo 列表中。然而,如果我试着这样做并运行 helm dependency update myHelmChart
我得到一个 找不到图表错误.
例子:
Env1:
$ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com/
Env2.Env2.Chart.yaml
$ helm repo list
NAME URL
cf_stable https://kubernetes-charts.storage.googleapis.com/
Chart.yaml
...
dependencies:
- name: nginx-ingress
version: 1.37.0
repository: https://kubernetes-charts.storage.googleapis.com/charts
- name: ......
现在在 Env1 看起来像这样。
helm dependency update myHelmChart
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading nginx-ingress from repo https://kubernetes-charts.storage.googleapis.com/charts
Save error occurred: could not find : chart nginx-ingress not found in https://kubernetes-charts.storage.googleapis.com/charts
Deleting newly downloaded charts, restoring pre-update state
Error: could not find : chart nginx-ingress not found in https://kubernetes-charts.storage.googleapis.com/charts
如果我把Chart.yaml改为持有 repository: "@stable"
运转正常 Env1 败絮其中 Env2. 我做错了什么?如何解决这个问题,使我不必依赖所有环境都使用完全相同的repo名称?
结果发现,尽管文档中规定URL应该包括 图表 并输入 https:/kubernetes-charts.storage.googleapis.comindex.yaml。 在浏览器中重定向到 https:/kubernetes-charts.storage.googleapis.comchartsindex.yaml。 并检索文件,直接使用的是 chartsindex.yaml 扩展名不能检索到文件。
解决方法是删除 图表 扩展名从我的版本库URL中删除。并非所有的仓库都是这样,所以你可能需要手动测试以获得正确的路径。