Kubernetes 队列配额

Kubernetes quotas queue

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

示例预期场景:

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

If creating or updating a resource violates a quota constraint, the request will fail with HTTP status code 403 FORBIDDEN with a message explaining the constraint that would have been violated.

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

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

IMO,如果 k8s 没有接受资源,它如何管理它的生命周期或执行顺序。

如果我对你的问题的理解正确,那么它是同一个 pod 试图被安排,那么你的工作应该以这样一种方式设计,即工作执行的顺序应该无关紧要,因为在某些情况下,一个执行可能不是已完成,下一个出现或前一个由于某些错误或相关服务不可用而失败。所以,下一次执行应该能够从上次离开的地方开始。

您还可以查看工作队列模式,如果它符合您的要求,如解释的那样https://kubernetes.io/docs/tasks/job/fine-parallel-processing-work-queue/

如果您只想一次执行一项作业。

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