Kubernetes 上基于时间的容器调度?

Time based container scheduling on Kubernetes?

根据基于时间的计划执行容器或 pod 的推荐方法是什么?例如,每天凌晨 2 点 运行 执行 10 分钟的任务。

在传统的 linux 服务器上,crontab 很容易工作,而且显然在容器内仍然是可能的。然而,由于这个任务只执行 10 分钟,我一直在寻找一种机制来在给定的时间间隔内执行一个基本容器,然后处理该容器。

Chronos(Mesos 的一部分)似乎有类似的行为,这在容器引擎中可能吗?

遗憾的是,Kubernetes 或容器引擎目前不支持 cron 作业。 Github 跟踪它的问题是 here,如果您想分享它应该具有的功能的想法或表达您对它的兴趣!

目前的解决方法是使用 运行-一次 Pod 并将 kubectl 添加到机器上的 cron 选项卡。

例如添加

kubectl create -f <run-once-pod>

到您的 cron 选项卡。

预计在 1.3 中支持:https://github.com/kubernetes/kubernetes/pull/11980

更新:

didn't meet the 1.3 deadline so it'll sleep into 1.4

https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808

更新(感谢@Kevinoid): 看起来它已经在 1.4 中达到了 alpha,现在正在 https://github.com/kubernetes/features/issues/19 with usage documentation at http://kubernetes.io/docs/user-guide/cron-jobs/

中跟踪进度

如前所述,这是作为 K8s 1.4 的一部分添加的,here 是官方文档。 (移动 url 更新)

答案似乎是 "Cron Jobs"(自 1.4 起):http://kubernetes.io/docs/user-guide/cron-jobs/