KEP-382: Graduate TaintNodeByCondition to GA

Implementation History
STABLE Implemented
Created 2019-10-12
Updated 2019-10-12
Latest 0.0
Ownership
Owning SIG
SIG Scheduling
Participating SIGs
Primary Authors

Graduate TaintNodeByCondition to GA

Table of Contents

Release Signoff Checklist

  • kubernetes/enhancements issue in release milestone, which links to KEP (this should be a link to the KEP location in kubernetes/enhancements, not the initial KEP PR)
  • KEP approvers have set the KEP status to implementable
  • Design details are appropriately documented
  • Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
  • Graduation criteria is in place
  • “Implementation History” section is up-to-date for milestone
  • User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
  • Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes

Summary

TaintNodeByCondition has been created in the past to taint node by their conditions. We wish to graduate TaintNodeByCondition feature to make scheduling decisions based on taints instead of node conditions in the scheduler.

Motivation

TaintNodeByCondition has been beta’ed in 1.12.

Goals

  • Plan to promote TaintNodeByCondition to the stable version.

Non-Goals

  • Changing API field or meaning

Proposal

Implementation Details/Notes/Constraints

TaintNodeByCondition add taints to nodes based on their conditions in the node lifecycle controller. And it could help the default scheduler to not schedule on specific nodes unless they could tolerate them.

The scheduler will remove condition-based predicates after TaintNodeByCondition was graduated to a stable version.

Design Details

Test Plan

Existing Tests

TaintNodeByCondition currently has multiple tests in various components that use the feature.

Graduation Criteria

Note: Section not required until targeted at a release.

  • Graduate TaintNodeByCondition to GA
  • Update documents to reflect the changes

Implementation History

  • TaintNodeByCondition was introduced in Kubernetes 1.8 as an alpha version.
  • TaintNodeByCondition was graduated to beta in Kubernetes 1.12.