Skip to content

Commit 12b18f2

Browse files
authored
Merge pull request kubernetes#85301 from robscott/endpointslice-beta-fix
Ensuring EndpointSlice controller does not start when feature gate or API are disabled
2 parents 141329f + 77df6bc commit 12b18f2

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

cmd/kube-controller-manager/app/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ go_library(
109109
"//pkg/volume/util:go_default_library",
110110
"//pkg/volume/vsphere_volume:go_default_library",
111111
"//staging/src/k8s.io/api/core/v1:go_default_library",
112+
"//staging/src/k8s.io/api/discovery/v1beta1:go_default_library",
112113
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
113114
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
114115
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",

cmd/kube-controller-manager/app/discovery.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,24 @@ package app
2323
import (
2424
"net/http"
2525

26+
discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
27+
utilfeature "k8s.io/apiserver/pkg/util/feature"
28+
"k8s.io/klog"
2629
endpointslicecontroller "k8s.io/kubernetes/pkg/controller/endpointslice"
30+
"k8s.io/kubernetes/pkg/features"
2731
)
2832

2933
func startEndpointSliceController(ctx ControllerContext) (http.Handler, bool, error) {
34+
if !utilfeature.DefaultFeatureGate.Enabled(features.EndpointSlice) {
35+
klog.V(4).Infof("Not starting endpointslice-controller since EndpointSlice feature gate is disabled")
36+
return nil, false, nil
37+
}
38+
39+
if !ctx.AvailableResources[discoveryv1beta1.SchemeGroupVersion.WithResource("endpointslices")] {
40+
klog.Warningf("Not starting endpointslice-controller since discovery.k8s.io/v1beta1 resources are not available")
41+
return nil, false, nil
42+
}
43+
3044
go endpointslicecontroller.NewController(
3145
ctx.InformerFactory.Core().V1().Pods(),
3246
ctx.InformerFactory.Core().V1().Services(),

0 commit comments

Comments
 (0)