Skip to content

Commit

Permalink
Merge pull request kubernetes#798 from bsalamat/pod_priority_ga
Browse files Browse the repository at this point in the history
Add a KEP for graduating pod priority and preemption to GA
  • Loading branch information
k8s-ci-robot authored Feb 1, 2019
2 parents 932b6d0 + 37df57d commit 6209a21
Showing 1 changed file with 83 additions and 0 deletions.
83 changes: 83 additions & 0 deletions keps/sig-scheduling/201901031-pod-priority-preemption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
title: Promote Pod Priority and Preemption to GA
authors:
- "@bsalamat"
owning-sig: sig-scheduling
participating-sigs:
- sig-scheduling
reviewers:
- "@k82cn"
approvers:
- "@liggitt"
editor: Babak Salamat
creation-date: 2019-01-31
last-updated: 2017-01-31
status: impementable
see-also:
replaces:
superseded-by:
---

# Promote Pod Priority and Preemption to GA

## Table of Contents

* [Table of Contents](#table-of-contents)
* [Summary](#summary)
* [Motivation](#motivation)
* [Goals](#goals)
* [Non-Goals](#non-goals)
* [Proposal](#proposal)
* [Risks and Mitigations](#risks-and-mitigations)
* [Graduation Criteria](#graduation-criteria)
* [Implementation History](#implementation-history)


## 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 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.

## Implementation History

Pod Priority and Preemption are tracked as part of [enhancement#564](https://github.com/kubernetes/enhancements/issues/564).
The proposal for Pod Priority can be [found here](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/pod-priority-api.md)
and Preemption proposal is [here](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/pod-preemption.md).

0 comments on commit 6209a21

Please sign in to comment.