Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
101 lines (74 sloc) 3.58 KB
title authors owning-sig participating-sigs reviewers approvers editor creation-date last-updated status see-also replaces superseded-by
Promote Pod Priority and Preemption to GA
@bsalamat
sig-scheduling
sig-scheduling
@k82cn
@liggitt
Babak Salamat
2019-01-31
2019-01-31
implementable

Promote Pod Priority and Preemption to GA

Table of Contents

Summary

Pod Priority and Preemption are features introduced in Kubernetes 1.8 as alpha features and promoted to beta in 1.11. Pod Priority enables users to specify importance of a Pod. Pods with higher priority are scheduled ahead of other pods with lower priority. When a cluster does not have enough capacity for running a high priority pod, the scheduler preempts and removes lower priority pods in order to make room for the high priority pod.

Motivation

Pod Priority and Preemption have existed in the past several releases and some of our most critical components of Kubernetes, i.e. critical DaemonSet Pods, rely on this feature for guaranteed scheduling since Kubernetes 1.12.

Goals

Promote Pod Priority and Preemption to GA.

Non-Goals

Make any change of functionality to the features.

Proposal

Create scheduling.k8s.io/v1 API group and add PriorityClass to it.

Make necessary changes to our code base to use scheduling.k8s.io/v1 instead of scheduling.k8s.io/v1beta1.

Update our documentation to reflect the new version and status of the features.

Risks and Mitigations

Given that there is no functionality changes, we don't expect any logical errors caused by this change.

Graduation Criteria

  • The features have been stable and reliable in the past several releases.
  • Adequate documentation exists for the features.
  • Test coverage of the features is acceptable.

Testing Plan

Pod priority and preemption have unit, integration, and e2e tests. These tests are run regularly as a part of Kubernetes presubmit and CI/CD pipeline.

Unit Tests

Here is a list of unit tests for various modules of the feature:

Integration tests

Integration tests for priority and preemption are found here.

E2E tests

End to end tests for priority and preemption are found here.

Implementation History

Pod Priority and Preemption are tracked as part of enhancement#564. The proposal for Pod Priority can be found here and Preemption proposal is here.

You can’t perform that action at this time.