Skip to main content

发布公告 v0.12.1

我们很高兴地宣布 Apache YuniKorn (Incubating) 社区已投票发布 0.12.1。 Apache YuniKorn (Incubating) 是一个独立的资源调度器,旨在管理和调度容器编排框架(如 Kubernetes)上的大数据工作负载,支持本地和云端的用例。

概述

Apache YuniKorn (Incubating) 社区在此版本中修复了150个 JIRA问题。请注意,由于 Go Modules 系统的技术问题,我们决定跳过 0.12.0 版本并直接转到 0.12.1,其中标记的标签无法更新以指向事后提交。

发布负责人: Chaoran Yu

发布日期: 2021-12-26

主要更新

支持的 Kubernetes 版本

在此版本中,支持的 Kubernetes 版本已更新为 1.19.x、1.20.x 和 1.21.x。(最后一个支持 1.17.x、1.18.x 和 1.19.x 的版本)。YuniKorn 支持矩阵主要支持 3 个主要的 Kubernetes 版本。

节点排序改进

YuniKorn 用于对每个容器的调度按需对所有节点进行排序,这导致节点数量增加时性能变慢。我们在该版本使用了优化的数据结构(B-tree),该改进对节点排序性能实现了相当大的改进。

Gang scheduling 增强功能

改进的测试覆盖率。添加了对节点亲和性的支持。修复了在删除节点期间处理占位时的严重错误。

日志记录和可观察性改进

  • 通过添加日志、调整现有日志的严重性级别和删除不需要的日志来增强各种组件的日志记录。
  • 添加了对定期或通过 REST 按需获取调度器的完整状态转储的支持,以方便进行故障排除。
  • 改进了调度器的健康检查,以报告异常的分配问题。

调度器接口改造

简化了核心和 shim 用于相互通信的调度器接口。大容量消息被分解,以便每条消息包含较小的有效负载并且仅用于特定目的。大多数消息现在在核心和 shim 之间是双向的。

Kubernetes 依赖升级

K8shim 所依赖的 Kubernetes 版本已经从 1.16 升级到 1.20。这为支持 Kubernetes 的未来版本铺平了道路。作为这项工作的结果,谓词逻辑已使用调度框架重写。

最新的性能基准测试结果

我们很高兴发布使用 Kubemark 的最新代码库的性能评估结果。YuniKorn 的吞吐量比默认调度器提高了4倍。

社区

Apache YuniKorn 社区很高兴地欢迎新的 committer: Craig Condit、Chenya Zhang、Chaoran Yu 和 Chia-Ping Tsai,以及新的导师 Luciano Resende 和 Wei-Chiu Chuang。我们希望看到更多的提交者加入社区并帮助塑造项目。在过去的几个月里,我们会继续在2个不同的时区举行两周一次的社区会议、临时会议、线下渠道讨论。我们的社区将继续开放给各位。