使用 Helm 版本 v3.4.1。
我遇到了这个错误。
helm chart with requirements.yaml, did not find local charts
"helm dep build" fails if requirements.yaml contains local dependencies and remote one #3742.
我的解决方案是:
- 将
charts/(目录)重命名为subcharts/
- 还有
chmod 755 subcharts/*
当我将本地依赖项放在 charts/ 时,Heml 3 不喜欢它
此外,Helm dep up 需要权限才能将本地依赖项从您的 subcharts 目录移动到 tmpcharts/ 等等。
**
这不是我的发现。
**
我从@sgandon 读到这篇文章:
记录了错误#3742。
comment。
os.Stat() 找不到文件夹的原因。这是
因为调用函数
downloadAll 在更新期间将图表文件夹重命名为 tmpcharts
从而使我们的解压图表在这段时间内无法找到。
注意:
!!在 Helm 3 上,requirements.yaml 已被弃用。 !!
您在 Parent/Main Charts.yaml 中添加依赖项。
dependencies:
- name: chart-you-want-to-deploy-1
repository: file://subcharts/chart-you-want-to-deploy-1
version: 0.0.1
condition: chart-you-want-to-deploy-1.enabled
- name: chart-you-want-to-deploy-2
repository: file://subcharts/chart-you-want-to-deploy-2
version: 0.0.1
condition: chart-you-want-to-deploy-2e.enabled
在 Parent/Main Values.yaml 中将我的变量添加到我的全局变量中
globals:
chart-you-want-to-deploy-1:
enabled: true
chart-you-want-to-deploy-2:
enabled: false
不要忘记将标志添加到您的命令中。
就我而言,我使用的是 CI/CD 工具 (Gitlab)
script:
- >
helm dep up Main-Chart-Name && \
helm upgrade --install \
--set chart-you-want-to-deploy-1.enabled=false \
--set chart-you-want-to-deploy-2.enabled=true \
RELEASE_NAME Main-Chart-Name
我的树
Main-Chart-Name
├── Chart.yaml
├── subcharts
│ ├── chart-you-want-to-deploy-1
│ │ ├── Chart.yaml
│ │ ├── charts
│ │ ├── templates
│ │ │ └── chart-you-want-to-deploy-1.yaml
│ │ └── values.yaml
│ └── chart-you-want-to-deploy-2
│ ├── Chart.yaml
│ ├── charts
│ ├── templates
│ │ └── chart-you-want-to-deploy-2.yaml
│ └── values.yaml
├── templates
│ ├── helpers.tpl
│ ├── my.yaml
│ ├── main.yaml
│ └── templates.yaml
└── values.yaml
附: - 谢谢@Narayana 和@sgandon。感谢你们,我很高兴部署!