gpt4 book ai didi

kubernetes-helm - Helm 根据条件下载依赖项

转载 作者:行者123 更新时间:2023-12-03 21:10:30 25 4
gpt4 key购买 nike

我正在使用 Helm chart 来部署大约 15 个微服务。有一个带有 requirements.yaml 的父 Helm chart 其中所有必需的微服务都列为依赖项。

sample requirements.yaml文件:

dependencies:
- name: service1
repository: "@stable"
version: <version>
- name: service2
repository: "@stable"
version: <version>
- name: service3
repository: "@stable"
version: <version>
- name: service4
repository: "@stable"
version: <version>
condition: false

当我跑 helm dependency update下载所有列为依赖项的图表。在某些场景中,开发中的服务很少,不需要部署到生产中。

我们有不同的 prod 和 non-prod 环境的 artifactory,并且禁用的服务不在 prod artifactory 中。因此它给出了一个错误,说缺少 Helm chart 。我知道条件标志不会安装依赖项,但如何阻止它下载依赖项?

最佳答案

可能来的有点晚了,不过最近整理了一个类似的问题,觉得可以帮到大家分享一下。您可以在 Chart.yaml 中声明依赖项时使用条件键:

dependencies:
- condition: gitea.cache.builtIn.enabled
name: memcached
repository: https://charts.bitnami.com/bitnami
version: 4.2.20
values.yaml 中的位如下:
[...]
gitea:
cache:
builtIn:
enabled: true
[...]
这个例子摘自奇妙的 gitea helm chart repo并且应该是不言自明的。不过,你可以看看 Helm documentation
请注意,如果嵌套图表的深度超过 2 级,则 helm2 可能会出现异常,因此我建议您查看 Helm3。
最后请注意,在我的情况下(因为我在部署 Helm 图表时走了一小段路,所以在渲染 helm 图表时会检查条件,而不是在运行 helm 依赖更新时

关于kubernetes-helm - Helm 根据条件下载依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54585489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com