我在kubernetes中有一个作业,通常需要2分钟,在某些情况下会持续20分钟。我宁愿每5分钟运行一次,但我不能运行多个作业,没有并行性。我如何协调运行?当然我可以每20分钟运行一次,但我需要更频繁地运行它。
一个解决方案是从shell脚本运行它,但我需要在20分钟后杀死它,这太多了;我们有kubernets。
是否有一种方法可以智能地协调运行?(策略可能会有所不同,但这是另一回事。)
我在kubernetes中有一个作业,通常需要2分钟,在某些情况下会持续20分钟。我宁愿每5分钟运行一次,但我不能运行多个作业,没有并行性。我如何协调运行?当然我可以每20分钟运行一次,但我需要更频繁地运行它。
一个解决方案是从shell脚本运行它,但我需要在20分钟后杀死它,这太多了;我们有kubernets。
是否有一种方法可以智能地协调运行?(策略可能会有所不同,但这是另一回事。)
1条答案
按热度按时间dced5bon1#
使用cron作业并将
concurrencyPolicy
设置为Forbid
。Forbid
:CronJob不允许并发运行;如果到了运行新作业的时间,而上一个作业尚未完成,CronJob将跳过新作业的运行。字符串