From 6bda1bec6e737d3c4920fdeed41cedcb73fd1aea Mon Sep 17 00:00:00 2001 From: "Da K. Ma" Date: Sat, 17 Feb 2018 10:55:29 +0800 Subject: [PATCH] Taint node when it under PID pressure. Signed-off-by: Da K. Ma --- pkg/controller/nodelifecycle/node_lifecycle_controller.go | 2 ++ pkg/scheduler/algorithm/well_known_labels.go | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/pkg/controller/nodelifecycle/node_lifecycle_controller.go b/pkg/controller/nodelifecycle/node_lifecycle_controller.go index 6de3fd14a65..7a3aa1991ce 100644 --- a/pkg/controller/nodelifecycle/node_lifecycle_controller.go +++ b/pkg/controller/nodelifecycle/node_lifecycle_controller.go @@ -89,6 +89,7 @@ var ( v1.NodeOutOfDisk: algorithm.TaintNodeOutOfDisk, v1.NodeDiskPressure: algorithm.TaintNodeDiskPressure, v1.NodeNetworkUnavailable: algorithm.TaintNodeNetworkUnavailable, + v1.NodePIDPressure: algorithm.TaintNodePIDPressure, } taintKeyToNodeConditionMap = map[string]v1.NodeConditionType{ @@ -96,6 +97,7 @@ var ( algorithm.TaintNodeMemoryPressure: v1.NodeMemoryPressure, algorithm.TaintNodeOutOfDisk: v1.NodeOutOfDisk, algorithm.TaintNodeDiskPressure: v1.NodeDiskPressure, + algorithm.TaintNodePIDPressure: v1.NodePIDPressure, } ) diff --git a/pkg/scheduler/algorithm/well_known_labels.go b/pkg/scheduler/algorithm/well_known_labels.go index 6a246bdcaf3..ae811cf28df 100644 --- a/pkg/scheduler/algorithm/well_known_labels.go +++ b/pkg/scheduler/algorithm/well_known_labels.go @@ -56,6 +56,11 @@ const ( // and removed when network becomes ready. TaintNodeNetworkUnavailable = "node.kubernetes.io/network-unavailable" + // TaintNodePIDPressure will be added when node has pid pressure + // and feature-gate for TaintNodesByCondition flag is enabled, + // and removed when node has enough disk. + TaintNodePIDPressure = "node.kubernetes.io/pid-pressure" + // TaintExternalCloudProvider sets this taint on a node to mark it as unusable, // when kubelet is started with the "external" cloud provider, until a controller // from the cloud-controller-manager intitializes this node, and then removes