【问题标题】:k8s job with an unlimited/unknown number of work-items (completions)具有无限/未知数量的工作项(完成)的 k8s 作业
【发布时间】:2020-02-13 11:10:45
【问题描述】:

我有一个队列,由我的一个 k8s pod 填充(一致地)工作项。

我想使用 k8s 作业来处理每个工作项,因为我希望每个作业都由新 pod 处理,因为我想使用多个容器,建议 here,但作业似乎不支持无限数量完成。

当我使用 spec.completions: null 时,我得到了 BackoffLimitExceeded。

知道如何在不需要指定工作项数量的情况下实现工作吗?

在 k8s 中实现后台工作者是否有替代工作?

谢谢

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    我的建议是按照设计的方式使用 Kubernetes 资源:Job 资源是一次性任务,可以多次触发,但它们与 后台作业不同 em> 你渴望实施。

    如果您的应用程序正在从队列/后端弹出 作业,最好使用 for 循环(根据编程语言为 YMMV)放入 Deployment,并最终将其缩小如果您不想分配未使用的资源,请使用另一个组件。

    另一种解决方案可能是每个作业的专业化,使用 UUID 作为作业的名称并标记它们以便对它们进行分组:无论如何,以 Kubernetes 方式使用 Kubernetes 的第一个建议是强烈的推荐。

    【讨论】:

    • 使用带有循环队列的部署对我来说不是一个好的解决方案,因为我想使用这个解决方案stackoverflow.com/a/46880653/963701(每个工作项应该由不同的容器按顺序处理)
    猜你喜欢
    • 1970-01-01
    • 2020-01-12
    • 2023-02-07
    • 2015-10-23
    • 1970-01-01
    • 2018-09-09
    • 2019-09-06
    • 1970-01-01
    • 2020-06-19
    相关资源
    最近更新 更多