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