diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index b18b106e8bd..696e84c7d08 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -126,6 +126,13 @@ const ( // // Enable equivalence class cache for scheduler. EnableEquivalenceClassCache utilfeature.Feature = "EnableEquivalenceClassCache" + + // owner: @k82cn + // alpha: v1.8 + // + // Taint nodes based on their condition status for 'NetworkUnavailable', + // 'MemoryPressure', 'OutOfDisk' and 'DiskPressure'. + TaintNodesByCondition utilfeature.Feature = "TaintNodesByCondition" ) func init() { @@ -156,4 +163,5 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS // unintentionally on either side: StreamingProxyRedirects: {Default: true, PreRelease: utilfeature.Beta}, genericfeatures.AdvancedAuditing: {Default: false, PreRelease: utilfeature.Alpha}, + TaintNodesByCondition: {Default: false, PreRelease: utilfeature.Alpha}, } diff --git a/plugin/pkg/scheduler/algorithm/well_known_labels.go b/plugin/pkg/scheduler/algorithm/well_known_labels.go index fcb45c7e5c5..329d06458a8 100644 --- a/plugin/pkg/scheduler/algorithm/well_known_labels.go +++ b/plugin/pkg/scheduler/algorithm/well_known_labels.go @@ -31,22 +31,22 @@ const ( // When feature-gate for TaintBasedEvictions=true flag is enabled, // TaintNodeOutOfDisk would be automatically added by node controller // when node becomes out of disk, and removed when node has enough disk. - TaintNodeOutOfDisk = "node.alpha.kubernetes.io/outOfDisk" + TaintNodeOutOfDisk = "node.kubernetes.io/outOfDisk" // When feature-gate for TaintBasedEvictions=true flag is enabled, // TaintNodeMemoryPressure would be automatically added by node controller // when node has memory pressure, and removed when node has enough memory. - TaintNodeMemoryPressure = "node.alpha.kubernetes.io/memoryPressure" + TaintNodeMemoryPressure = "node.kubernetes.io/memoryPressure" // When feature-gate for TaintBasedEvictions=true flag is enabled, // TaintNodeDiskPressure would be automatically added by node controller // when node has disk pressure, and removed when node has enough disk. - TaintNodeDiskPressure = "node.alpha.kubernetes.io/diskPressure" + TaintNodeDiskPressure = "node.kubernetes.io/diskPressure" // When feature-gate for TaintBasedEvictions=true flag is enabled, // TaintNodeNetworkUnavailable would be automatically added by node controller // when node's network is unavailable, and removed when network becomes ready. - TaintNodeNetworkUnavailable = "node.alpha.kubernetes.io/networkUnavailable" + TaintNodeNetworkUnavailable = "node.kubernetes.io/networkUnavailable" // When kubelet is started with the "external" cloud provider, then // it sets this taint on a node to mark it as unusable, until a controller