根据基于时间的计划执行容器或 pod 的推荐方法是什么?例如,每天凌晨 2 点运行 10 分钟的任务。
在传统的 linux 服务器上,crontab 很容易工作,而且显然在容器内仍然可以。然而,由于这个任务只执行了 10 分钟,我一直在寻找一种机制来在给定的时间间隔内执行一个基本容器,然后处置容器。
Chronos(Mesos 的一部分)似乎有类似的行为,这在 Container Engine 中可能吗?
根据基于时间的计划执行容器或 pod 的推荐方法是什么?例如,每天凌晨 2 点运行 10 分钟的任务。
在传统的 linux 服务器上,crontab 很容易工作,而且显然在容器内仍然可以。然而,由于这个任务只执行了 10 分钟,我一直在寻找一种机制来在给定的时间间隔内执行一个基本容器,然后处置容器。
Chronos(Mesos 的一部分)似乎有类似的行为,这在 Container Engine 中可能吗?
这预计将在 1.3 中得到支持:https ://github.com/kubernetes/kubernetes/pull/11980
更新:
没有达到 1.3 的最后期限,所以它会进入 1.4
https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808
更新(感谢@Kevinoid):看起来它在 1.4 中已经达到了 alpha 版本,现在正在https://github.com/kubernetes/features/issues/19中跟踪进度,使用文档位于http://kubernetes.io/docs /用户指南/cron-jobs/
不幸的是,Kubernetes 或 Container Engine 目前不支持 cron 作业。跟踪它的 Github 问题在这里,如果您想分享它应该具有哪些功能的想法或表达您对它的兴趣!
目前的解决方法是使用一次运行的 Pod 并将 kubectl 添加到机器上的 cron 选项卡中。
例如添加
kubectl create -f <run-once-pod>
到您的 cron 选项卡。
似乎“Cron Jobs”(自 1.4 起)是答案: http: //kubernetes.io/docs/user-guide/cron-jobs/
如前所述,这是作为 K8s 1.4 的一部分添加的,这里是官方文档。(移动网址已更新)