概览

为什么选择 Kueue?

Kueue 是一个 Kubernetes 原生系统,用于管理配额以及作业如何使用配额。 Kueue 决定作业何时应该等待,何时应该被接纳开始(即可以创建 Pod), 以及何时应该被抢占(即应该删除活跃的 Pod)。

为什么选择 Kueue

你可以在一个普通的 Kubernetes 集群之上安装 Kueue。Kueue 不会替换任何现有的 Kubernetes 组件。Kueue 与云环境兼容,在这些环境中:

  • 计算资源是弹性的,可以扩展和缩减。
  • 计算资源是异构的(在架构、可用性、价格等方面)。

Kueue API 允许你表达:

  • 租户间公平共享的配额和策略。
  • 资源可替代性:如果一种资源 Flavor 已被完全利用,Kueue 可以使用不同的 Flavor 接纳作业。

Kueue 的一个核心设计原则是避免重复 Kubernetes 组件和成熟的第三方控制器中的功能。 自动扩缩、Pod 到节点的调度和作业生命周期管理分别是 cluster-autoscaler、kube-scheduler 和 kube-controller-manager 的职责。高级准入控制可以委托给像 Gatekeeper 这样的控制器。

功能概览

作业集成功能

功能Batch JobJobSetPaddleJobPytorchJobTFJobXGBoostJobMPIJobJAXJobPodRayClusterRayJobAppWrapperDeploymentStatefulSetLeaderWorkerSet
动态回收+++
MultiKueue+++++++++++
MultiKueueBatchJobWithManagedBy+
部分接纳+
工作负载优先级类别+++++++++++++++
Flavor 可替代性+++++++++++++++
ProvisioningACC+++++++++++++++
队列可见性+++++++++++++++
按需可见性+++++++++++++++
队列组内优先级排序+++++++++++++++
借用限制+++++++++++++++
All-or-nothing 与就绪 Pod+++++++++++++++
公平共享+++++++++++++++
拓扑感知调度+++++++++++++++

Kueue 高级操作

Kueue 高级操作

要了解有关 Kueue 概念的更多信息,请参阅概念部分。

要了解不同的 Kueue 用户角色以及如何使用 Kueue,请参阅任务部分。