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/
根据基于时间的计划执行容器或 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/