From 8b9a5b2dffa67055dadf17c5dee008766822a8be Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Sun, 2 Oct 2022 09:30:49 -0400 Subject: [PATCH] Avoid tainting with NoSchedule when DisableCloudProviders feature is on Signed-off-by: Davanum Srinivas --- pkg/kubelet/kubelet_node_status.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index b28e6288b6e..9669e968b4f 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -32,12 +32,14 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" + utilfeature "k8s.io/apiserver/pkg/util/feature" cloudprovider "k8s.io/cloud-provider" cloudproviderapi "k8s.io/cloud-provider/api" nodeutil "k8s.io/component-helpers/node/util" "k8s.io/klog/v2" kubeletapis "k8s.io/kubelet/pkg/apis" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/nodestatus" "k8s.io/kubernetes/pkg/kubelet/util" @@ -328,7 +330,13 @@ func (kl *Kubelet) initialNode(ctx context.Context) (*v1.Node, error) { Effect: v1.TaintEffectNoSchedule, } - nodeTaints = append(nodeTaints, taint) + // Disable functionality in kubelet related to the `--cloud-provider` component flag. + if !utilfeature.DefaultFeatureGate.Enabled(features.DisableCloudProviders) { + klog.InfoS("feature DisableCloudProviders is on, disabling taint", + "taint", cloudproviderapi.TaintExternalCloudProvider, + "effect", v1.TaintEffectNoSchedule) + nodeTaints = append(nodeTaints, taint) + } } if len(nodeTaints) > 0 { node.Spec.Taints = nodeTaints