【发布时间】:2019-01-28 04:09:15
【问题描述】:
我正在尝试使用以下资源创建 Helm 图表:
- 秘密
- 配置映射
- 服务
- 工作
- 部署
这些也是我希望它们部署的顺序。我在 Deployment 中放置了一个钩子,以便它在安装后进行,但是 Helm 不会将其视为资源,我必须手动管理它。
作业需要 Secret 和 ConfigMap 中的信息,否则我会将其作为预安装挂钩。但我不能让所有东西都成为钩子,否则我的版本中不会管理任何东西。
是否有人有解决方案或想法能够管理 Helm 版本中的所有资源并确保作业在部署开始之前完成?
我现在唯一的想法是两个制作两个图表:一个是 1-4,第二个是 5,这取决于第一个。
【问题讨论】:
-
您是否已经尝试过使用a multi-document YAML file?多文档 YAML 是一个有序列表,但我不知道它们是否按该顺序应用。我会希望如此但我希望很多事情
-
出于兴趣,Job 做了什么?
-
我问的部分原因是我想知道您是否可以在部署中放置一个 initContainer 并将 Job 的逻辑移到那里。无论如何,应该首先使用 helm 的资源排序来创建 configmap 和 secret
-
@RyanDawson 作业准备数据库,我不希望它为每个部署 Pod 运行。
-
如果您选择这样做,您可以在开始时通过检查使其具有幂等性。有关从官方 helm/charts repo 执行此操作的示例,请参阅 github.com/helm/charts/… 或 github.com/helm/charts/blob/master/stable/keycloak/templates/…
标签: kubernetes kubernetes-helm