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.