如何在每天的指定时间段内运行kubernetes pod?

时间:2018-07-10 20:09:43

标签: kubernetes

我正在寻找一种在kubernetes上部署Pod的方法,每天可以运行几个小时。本质上,我希望它每天早晨8点运行并继续运行直到下午5:30。

我已经进行了很多研究,但还没有找到在特定时间范围内部署Pod的方法。我已经找到了cron作业,但这似乎是用于终止自身的Pod,而我的应连续运行。

是否可以通过这种方式在kubernetes上部署我的pod?还是应该只设置Pod本身以根据其内部时钟运行其预期的应用程序?

2 个答案:

答案 0 :(得分:1)

根据Kubernetes架构,一个Job创建一个或多个Pod,并确保指定数量的Pod成功终止。吊舱成功完成后,作业会跟踪成功完成的情况。当达到指定的成功完成次数时,作业本身即完成。

简单来说,作业会一直运行到完成或失败为止。这就是为什么无法在Kubernetes中安排Cron Job终止的原因。

根据您的情况,您可以定期启动Cron作业并使用以下选项之一终止该作业:

  1. 更好的方法是自行终止容器,因此可以将此类功能添加到应用程序中或使用Cron。有关如何将Cron添加到Docker容器的更多信息,您可以找到here

  2. 您可以使用另一个Cron作业来终止您的Cron作业。您需要在Pod中运行命令来查找和删除与您的工作相关的Pod。有关更多信息,您可以浏览此link。但这不是一个好方法,因为您的Cron工作将始终具有failed状态。

在两种情况下,您都需要检查Cron作业的完成状态,并相应地使用正确的RestartPolicy

答案 1 :(得分:0)