【发布时间】:2019-08-12 21:48:57
【问题描述】:
我想做的事
我想创建一个 Kubernetes 工作流程,用户可以随时发布作业,他们可以随时发布,不一定要安排任何事情 (CronJobs),或者指定并行性或完成要求,即用户可以按需创建作业。
我现在该怎么做
我正在考虑实现这一点的方法是简单地将Jobs 应用于 Kubernetes 集群(我还必须确保该作业与当前作业的名称不同,否则 Kubernetes 会认为它是一个错误,不会创建另一个错误)。但是,这感觉不合适,因为 Jobs 会分散在集群上,我会失去对它们的控制(尽管 Kubernetes 应该会自动以最佳方式管理它们)。
有没有更好、更合适的方法?
我想配置这一切的更合适的方法是在Jobs 之上创建某种Deployment 和Service,但这是Kubernetes 的现有功能吗?大公司过去可能遇到过这个问题,所以我想知道:这个 Kubernetes Jobs On Demand 用例的最佳实践是什么?
【问题讨论】:
-
你想对他们进行什么样的“控制”?您可以控制谁有权使用 RBAC 创建和编辑
Jobs。您可以使用ResourceQuota和LimitRange控制资源使用情况。 -
但是
ResourceQuota和LimitRange指的是并行或顺序Job创建,不是吗?您可以使用它们来管理集群上分散或随机创建的Jobs 吗?您可以在创建时使用它们来限制新的Jobs,但我认为您不能在以后管理它们。
标签: kubernetes kubectl minikube