我正在尝试使用以下资源创建头盔图表:
这些也是按照我希望它们部署的顺序进行的。我在“部署”中添加了一个钩子,以便在安装后进行安装,但是Helm并不将其视为资源,因此必须手动进行管理。
Job需要Secret和ConfigMap中的信息,否则我将使它成为预安装挂钩。但是我无法将所有事情都弄上钩,否则在我的发行版中将无法处理任何事情。
是否有人有解决方案或想法能够管理Helm版本中的所有资源,并确保作业在部署开始之前完成?
我现在唯一的想法就是两个图表两个:一个是1-4,第二个是5,这取决于第一个。
答案 0 :(得分:17)
Helm收集给定图表及其依赖项中的所有资源,按资源类型对其进行分组,然后按以下顺序安装它们(请参阅here-Helm 2.10):
在卸载发行版期间,顺序相反(请参阅here)。
按照这种逻辑,在您创建Job资源的情况下,Secret和ConfigMap都将已经应用,但是Helm在应用Deployment之前不会等待Job完成。 如果将图表分为两部分(1-4、5)并按顺序安装它们,那么在作业完成之前,仍然可能会应用部署问题。 我建议将图表分为两个部分(1-3、4-5),其中作业具有预安装挂钩,可以确保在应用部署之前完成该工作。