【问题标题】:How to (properly) Create Jobs On Demand如何(正确)按需创建工作
【发布时间】:2019-08-12 21:48:57
【问题描述】:

我想做的事

我想创建一个 Kubernetes 工作流程,用户可以随时发布作业,他们可以随时发布,不一定要安排任何事情 (CronJobs),或者指定并行性或完成要求,即用户可以按需创建作业。

我现在该怎么做

我正在考虑实现这一点的方法是简单地将Jobs 应用于 Kubernetes 集群(我还必须确保该作业与当前作业的名称不同,否则 Kubernetes 会认为它是一个错误,不会创建另一个错误)。但是,这感觉不合适,因为 Jobs 会分散在集群上,我会失去对它们的控制(尽管 Kubernetes 应该会自动以最佳方式管理它们)。

有没有更好、更合适的方法?

我想配置这一切的更合适的方法是Jobs 之上创建某种DeploymentService,但这是Kubernetes 的现有功能吗?大公司过去可能遇到过这个问题,所以我想知道:这个 Kubernetes Jobs On Demand 用例的最佳实践是什么?

【问题讨论】:

  • 你想对他们进行什么样的“控制”?您可以控制谁有权使用 RBAC 创建和编辑Jobs。您可以使用ResourceQuotaLimitRange 控制资源使用情况。
  • 但是ResourceQuotaLimitRange 指的是并行或顺序Job 创建,不是吗?您可以使用它们来管理集群上分散或随机创建的Jobs 吗?您可以在创建时使用它们来限制新的Jobs,但我认为您不能在以后管理它们。

标签: kubernetes kubectl minikube


【解决方案1】:

不是完整的答案,但您可能对此项目感兴趣:https://github.com/ivoscc/kubernetes-task-runner

它提供了一个 API 来在 Kubernetes 集群上将一次性任务作为 Jobs 启动,通过 GCS 处理输入/输出文件并定期清理完成的 Jobs。

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2016-11-10
    • 2012-11-02
    • 2012-07-25
    相关资源
    最近更新 更多