【发布时间】:2017-04-30 07:38:09
【问题描述】:
我正在尝试创建一个 Kubernetes 计划作业,但是,我注意到:
- 在 Kubernetes 版本 >= v1.4 上,它被称为 ScheduledJob (http://janetkuo.github.io/docs/user-guide/scheduled-jobs/)
- 在 Kubernetes 版本 >= v1.5 上,它被称为 *CronJob (http://kubernetes.io/docs/user-guide/cron-jobs/)
在 Google Container Engine 上运行的默认 Kubernetes 版本是 v1.4.6,这意味着我应该使用 ScheduledJob 对象。
问题是 ScheduledJob 使用我的集群上未启用的 batch/v2alpha1 API 版本,因此作业创建失败,另一方面,创建一个启用了 Alpha 功能的新集群只能使用 30 天(之后 Google 会自动将其删除)。
是否有任何可用于在 Google Container Engine 上安排作业的生产就绪解决方案?
谢谢,
伊丹
编辑:
以下是来自 Google 支持的官方回复:
如您所见,计划作业/cron 作业功能目前是 处于 alpha 阶段。
我们意识到这是一个非常需要的功能,并且正在努力实现它 未来可用于生产。在那之前,不幸的是没有 我可以推荐用于生产的受支持的功能。
【问题讨论】:
-
不幸的是,我想你什么都知道。您可以尝试通过安排定期 Pod 并将活动探测间隔设置为您希望作业运行的时间来欺骗系统;你的工作 Pod 会运行和死亡,但在 liveness 检测到一个死的 pod 后会重新安排。非常老套... ;-)
-
另一个黑客正在容器内运行
cron。这是一个示例:github.com/aptible/docker-cron-example
标签: docker cron containers kubernetes jobs