Skip to main content

Release Announcement v1.3.0

We are pleased to announce that the Apache YuniKorn community has voted to release 1.3.0. Apache YuniKorn is a standalone resource scheduler, designed for managing and scheduling Big Data workloads on container orchestration frameworks like Kubernetes for on-prem and on-cloud use cases.

Overview​

The Apache YuniKorn community has resolved 160 JIRAs in this release.

Release manager: Yu Teng Chen

Release date: 2023-06-12

Highlights​

Kubernetes version support​

YuniKorn 1.3.0 supports running on Kubernetes clusters from version 1.21 through 1.26. Support for running on Kubernetes 1.27 is not supported, but is planned for YuniKorn 1.4.0.

NOTE: YuniKorn 1.3.0 is the last release planned which will support Kubernetes 1.21 through 1.23; YuniKorn 1.4.0 is expected to require Kubernetes 1.24 or later.

Please see YUNIKORN-1699 for details.

Preemption support​

YuniKorn now has comprehensive support for preemption, including customizable policies per queue. Please see the the Preemption design documentation for more details.

JIRA: YUNIKORN-1461

Better support for BestEffort pods​

YuniKorn now tracks the number of pods scheduled as part of queue quota limits. This allows limiting parallelism within a queue, but also provides better support for running Kubernetes pods with the PodQOSBestEffort scheduling class (i.e. those with no explicit resources requested).

Please see YUNIKORN-1632 for details.

Lighter and more secure images​

YuniKorn 1.3.0 has moved to using scratch base images for all containers. This results in a smaller footprint as well as improved security as YuniKorn no longer ships any third-party software in our container images.

A prerequisite for using scratch images was the move from nginx to a go-based web server for the web application. Please see YUNIKORN-1672 and YUNIKORN-1535 for details.

Dynamic namespace support in admission controller​

The YuniKorn admission controller now suports per-namespace annotations to control YuniKorn-specific processing. Previously, only a static list of regular expressions (still supported) could be used to select namespaces.

Please see YUNIKORN-1647 for details.

CPU and memory optimization​

YuniKorn 1.3.0 contains several optimizations for CPU and memory usage, making this release the lightest and fastest yet. Some examples:

  • YUNIKORN-1719 Improve the performance of Application.sortRequests()
  • YUNIKORN-1720 Improve the performance of node.preAllocateCheck()
  • YUNIKORN-1722 Excessive resource clone calls in calculateNodesResourceUsage()
  • YUNIKORN-1746 Improve the performance of nodeInfoListerImpl.List()

Community​

The Apache YuniKorn community is pleased to welcome new PMC member Yu Teng Chen and committer Qi Zhu.