wat*_*ess 15 kubernetes kubernetes-helm
我正在尝试使用以下资源创建Helm图表:
这些也是我希望它们部署的顺序.我在部署中放了一个钩子,以便它是安装后的,但是Helm并没有将它视为资源,我必须手动管理它.
Job需要Secret和ConfigMap中的信息,否则我会将其作为预安装钩子.但我不能把所有东西都当成钩子,否则我的版本就无法管理.
有没有人有解决方案或想法能够管理Helm版本中的所有资源并确保在部署开始之前完成作业?
我现在唯一想到的是两个制作两张图表:一张是1-4,第二张是5,这取决于第一张.
yan*_*ver 37
Helm收集给定图表中的所有资源及其依赖项,按资源类型对它们进行分组,然后按以下顺序安装它们(请参阅此处 - Helm 2.10):
在卸载发行版期间,订单会反转(请参阅此处).
遵循此逻辑,在您创建Job资源的情况下,Secret和ConfigMap都已应用,但Helm不会等待Job在应用Deployment之前完成.如果将图表拆分为两个部分(1-4,5)并按顺序安装它们,则仍可能在作业完成之前应用部署问题.我建议将图表分成两部分(1-3,4-5),其中Job有一个预安装钩子,这将确保它在部署应用之前完成.
jer*_*ile 12
Helm 尝试按特定顺序安装内容,但在继续之前不会检查 pod/部署/作业是否正在运行/完成。另请注意,图表及其依赖项是同时安装的,因此您无法使用具有依赖项的图表来重新排序 Helm 安装资源的方式。
您可以使用图表挂钩来更改顺序,但这些不是托管资源。就我而言,问题是我们需要自定义资源,然后需要运行一个简短的脚本,然后需要开始部署。使用--wait,如果脚本所在的 pod 已完成,Helm 会将升级/安装标记为失败并回滚。这种情况下的解决方案只是使用 Job 而不是 Pod,该问题的评论者比我遇到的问题更多,然后接受部署将在一切最终准备就绪之前重新启动几次。
Helm 3.7 安装顺序:
CustomResources 是最后安装的。来源。与上面的唯一区别是更多的资源类型,并且 ServiceAccount 在列表中略有上升。
| 归档时间: |
|
| 查看次数: |
8849 次 |
| 最近记录: |