跳到主要内容
Koordinator Logo

Koordinator

Star

基于 QoS 的 Kubernetes 混合工作负载调度系统

Koordinator 是什么?

Koordinator 是一个先进的调度系统,可以将不同类型的工作负载托管在Kubernetes上。将弹性的资源配额、高效的 Pod 打包、超卖、节点共享与容器资源隔离相结合,实现了高利用率。

Koordinator 是具有高性能、可扩展的, 在大规模生产环境中得到了验证的,可以构建支持企业生产环境的容器编排系统。

what is koordinator
Web ServiceSpark JobTF JobPresto JobCo-located Workloads Orchestration

混合工作负载编排

Koordinator 包含一组托管配置文件,如 Spark 配置、Presto 配置、TensorFlow 配置等。这些配置文件允许您在不修改原始控制器的基础上,以混部的方式运行工作负载,只需要安装应用这些配置文件 CR 即可。
这些配置文件提供了在 Kubernetes 上运行典型工作负载的最佳实践,如果它们不能直接满足您的需求,您可以轻松扩展它们。Koordinator 社区将持续为工作负载托管添加更多最佳实践。
timeunallocatedpotentially reusable resources for Batchpotentially reusable resources for MidFreeusage of Prod

基于 QoS 和超卖的调度

Koordinator 引入了精心设计的优先级和 QoS 机制,将不同类型的工作负载混跑在集群中,并在单个节点上运行不同类型的 Pod。在划分优先级和 QoS 的基础上,通过资源超卖实现资源的高利用率,并通过应用分析析机制保证 QoS 。
大体思路是通过回收已申请但未使用的高优先级资源,超卖给低优先级的 Pod,并通过合理的资源分析机制和节点自下而上的策略避免预测失败。
Co-locatedworkloadsControllerCPUMemoryNetworkDiskInterference detectionResource IsolationImprove QoS

干扰检测和资源隔离

Koordinator 引入了一个 QoSManager 来协调一组插件,这些插件负责按优先级保证 SLO,减少 Pod 之间的干扰。这些插件根据资源分析、干扰检测结果和 SLO 配置,在不同场景下动态调整资源参数的“旋钮”。
QoSManager 不断调整每个 Pod 的资源隔离参数,以消除对延迟敏感的工作负载的长尾抖动。因此,即使您不关心资源利用率的提高,它也会提供一系列方法来提高运行时稳定性和性能。