@@ -43,7 +43,6 @@ import (
43
43
"k8s.io/klog"
44
44
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
45
45
"k8s.io/kubernetes/pkg/controller"
46
- kubefeatures "k8s.io/kubernetes/pkg/features"
47
46
"k8s.io/kubernetes/pkg/util/metrics"
48
47
"k8s.io/kubernetes/pkg/util/slice"
49
48
)
@@ -67,6 +66,16 @@ const (
67
66
// LabelNodeRoleExcludeBalancer specifies that the node should be
68
67
// exclude from load balancers created by a cloud provider.
69
68
LabelNodeRoleExcludeBalancer = "alpha.service-controller.kubernetes.io/exclude-balancer"
69
+
70
+ // serviceNodeExclusionFeature is the feature gate name that
71
+ // enables nodes to exclude themselves from service load balancers
72
+ // originated from: https://github.com/kubernetes/kubernetes/blob/28e800245e/pkg/features/kube_features.go#L178
73
+ serviceNodeExclusionFeature = "ServiceNodeExclusion"
74
+
75
+ // ServiceLoadBalancerFinalizerFeature is the feature gate name that
76
+ // enables Finalizer Protection for Service LoadBalancers.
77
+ // orginated from: https://github.com/kubernetes/kubernetes/blob/28e800245e/pkg/features/kube_features.go#L433
78
+ serviceLoadBalancerFinalizerFeature = "ServiceLoadBalancerFinalizer"
70
79
)
71
80
72
81
type cachedService struct {
@@ -150,7 +159,7 @@ func New(
150
159
}
151
160
},
152
161
DeleteFunc : func (old interface {}) {
153
- if utilfeature .DefaultFeatureGate .Enabled (kubefeatures . ServiceLoadBalancerFinalizer ) {
162
+ if utilfeature .DefaultFeatureGate .Enabled (serviceLoadBalancerFinalizerFeature ) {
154
163
// No need to handle deletion event if finalizer feature gate is
155
164
// enabled. Because the deletion would be handled by the update
156
165
// path when the deletion timestamp is added.
@@ -327,7 +336,7 @@ func (s *ServiceController) syncLoadBalancerIfNeeded(service *v1.Service, key st
327
336
op = ensureLoadBalancer
328
337
klog .V (2 ).Infof ("Ensuring load balancer for service %s" , key )
329
338
s .eventRecorder .Event (service , v1 .EventTypeNormal , "EnsuringLoadBalancer" , "Ensuring load balancer" )
330
- if utilfeature .DefaultFeatureGate .Enabled (kubefeatures . ServiceLoadBalancerFinalizer ) {
339
+ if utilfeature .DefaultFeatureGate .Enabled (serviceLoadBalancerFinalizerFeature ) {
331
340
// Always try to add finalizer prior to load balancer creation.
332
341
// It will be a no-op if finalizer already exists.
333
342
// Note this also retrospectively puts on finalizer if the cluster
@@ -623,7 +632,7 @@ func getNodeConditionPredicate() corelisters.NodeConditionPredicate {
623
632
return false
624
633
}
625
634
626
- if utilfeature .DefaultFeatureGate .Enabled (kubefeatures . ServiceNodeExclusion ) {
635
+ if utilfeature .DefaultFeatureGate .Enabled (serviceNodeExclusionFeature ) {
627
636
if _ , hasExcludeBalancerLabel := node .Labels [LabelNodeRoleExcludeBalancer ]; hasExcludeBalancerLabel {
628
637
return false
629
638
}
0 commit comments