【问题标题】:Time based container scheduling on Kubernetes?Kubernetes 上基于时间的容器调度?
【发布时间】:2015-09-29 17:34:57
【问题描述】:

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

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

Chronos(Mesos 的一部分)似乎有类似的行为,这在 Container Engine 中可能吗?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    这预计会在 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/user-guide/cron-jobs/

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      例如添加

      kubectl create -f <run-once-pod>
      

      到您的 cron 选项卡。

      【讨论】:

      • 澄清一下,让一个 pod 只运行一次,这将是 restartPolicy: Never?
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-02-15
          • 1970-01-01
          • 1970-01-01
          • 2023-01-18
          • 2014-01-05
          • 1970-01-01
          • 1970-01-01
          • 2022-12-03
          相关资源
          最近更新 更多