【问题标题】:Jobs scheduling in Google Container Engine (Kubernetes)Google Container Engine (Kubernetes) 中的作业调度
【发布时间】:2017-04-30 07:38:09
【问题描述】:

我正在尝试创建一个 Kubernetes 计划作业,但是,我注意到:

在 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


【解决方案1】:

在 v 1.8 中有一个将 CronJobs 迁移到 Beta 的里程碑,可以跟踪 here

【讨论】:

    【解决方案2】:

    Google Container 目前的新默认版本是Kubernetes v1.5.6,您可以选择升级到 v1.6.0。因此可以创建cron jobs

    如果您的集群在以前的版本上,您可以按照here 中的说明升级您的容器集群

    【讨论】:

    • 你确定吗?因为从文档来看,它仍然在alpha
    • 我指的是今天的 GKE 版本,因此您现在可以运行 cron 作业,但确实只有当您的 GKE 集群启用了 Kubernetes alpha 功能时,cron 作业才会运行。
    • 据我所知,“alpha 功能”在 Alpha Cluster 中可用,因此还没有真正准备好生产。
    猜你喜欢
    • 2016-08-31
    • 1970-01-01
    • 2017-03-26
    • 2016-06-01
    • 2017-04-07
    • 1970-01-01
    • 2018-12-25
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多