【发布时间】:2020-09-24 17:42:49
【问题描述】:
我有一个舵图,并且在模板下定义了两个工作资源。
.
├── Chart.yaml
├── templates
│ ├── job.yaml
│ └── post-copy-job.yaml
└── values.yaml
我的第一份工作(job.yaml)实际上是一个模板,但它推出了多个工作(使用范围)。
我希望我的第二个作业模板 (post-copy-job.yaml) 保持执行,直到第一个模板下的所有作业都完成。 我尝试在第二个作业模板中使用安装后挂钩。
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": before-hook-creation
不过,它会在作业模板 1 下的所有作业完成之前执行并完成。 我的问题是如何延迟第二个作业模板的执行,直到作业模板下的所有资源都完成。
【问题讨论】:
-
您需要一些比 Helm 更强大的东西才能做到这一点,就像自定义运算符一样。您可能会发现使用 RabbitMQ 之类的作业队列系统和长时间运行的 worker 部署比为每个任务启动单独的作业要容易一些。
标签: kubernetes kubernetes-helm