魁北克队列

问题描述 投票:0回答:2

我需要根据Kubernetes配额排队Kubernetes资源。

预期方案示例:

  • 用户创建Kubernetes资源(假设一个简单的X pod)
  • quora对象资源计数达到,pod X进入Pending状态
  • 资源被释放(其他pod Y被删除),我们的X pod开始创建

因为,现在这种情况不起作用,因为当配额中没有可用资源时,返回403 FORBIDDEN的配额行为:

如果创建或更新资源违反配额约束,则请求将失败,HTTP状态代码403 FORBIDDEN,并显示一条消息,说明可能违反的约束。

问题:有没有办法通过原生Kubernetes机制实现这一目标?

我试图在Kubernetes Jobs上执行pod,但是每个作业都是独立启动的,我无法控制执行顺序。我想以先进先出方法执行它们。

kubernetes queue scheduler jobs quota
2个回答
2
投票

IMO,如果k8s尚未接受该资源,它将如何管理其生命周期或执行顺序。

如果我正确地理解了你的问题,那么它的同一个pod试图安排,你的工作应该以这样的方式设计,即工作执行的顺序无关紧要,因为可能存在一个执行未完成而下一个执行的情况由于某些错误或相关服务不可用而导致上一个或上一个失败。因此,下一次执行应该能够从最后一次执行的位置开始。

您还可以查看工作队列模式,以满足您的要求,如https://kubernetes.io/docs/tasks/job/fine-parallel-processing-work-queue/所述

如果您只想让一个作业同时执行。


0
投票

我认为,以预定义顺序运行作业必须由外部逻辑管理。我们使用Jenkins Pipeline。

© www.soinside.com 2019 - 2024. All rights reserved.