@@ -36,9 +36,6 @@ import (
36
36
clientset "k8s.io/client-go/kubernetes"
37
37
"k8s.io/client-go/metadata"
38
38
restclient "k8s.io/client-go/rest"
39
- cloudnodelifecyclecontroller "k8s.io/cloud-provider/controllers/nodelifecycle"
40
- routecontroller "k8s.io/cloud-provider/controllers/route"
41
- servicecontroller "k8s.io/cloud-provider/controllers/service"
42
39
cpnames "k8s.io/cloud-provider/names"
43
40
"k8s.io/component-base/featuregate"
44
41
"k8s.io/controller-manager/controller"
@@ -92,26 +89,8 @@ func newServiceLBControllerDescriptor() *ControllerDescriptor {
92
89
93
90
func startServiceLBController (ctx context.Context , controllerContext ControllerContext , controllerName string ) (controller.Interface , bool , error ) {
94
91
logger := klog .FromContext (ctx )
95
- if controllerContext .Cloud == nil {
96
- logger .Info ("Warning: service-controller is set, but no cloud provider specified. Will not configure service controller." )
97
- return nil , false , nil
98
- }
99
-
100
- serviceController , err := servicecontroller .New (
101
- controllerContext .Cloud ,
102
- controllerContext .ClientBuilder .ClientOrDie ("service-controller" ),
103
- controllerContext .InformerFactory .Core ().V1 ().Services (),
104
- controllerContext .InformerFactory .Core ().V1 ().Nodes (),
105
- controllerContext .ComponentConfig .KubeCloudShared .ClusterName ,
106
- utilfeature .DefaultFeatureGate ,
107
- )
108
- if err != nil {
109
- // This error shouldn't fail. It lives like this as a legacy.
110
- logger .Error (err , "Failed to start service controller." )
111
- return nil , false , nil
112
- }
113
- go serviceController .Run (ctx , int (controllerContext .ComponentConfig .ServiceController .ConcurrentServiceSyncs ), controllerContext .ControllerManagerMetrics )
114
- return nil , true , nil
92
+ logger .Info ("Warning: service-controller is set, but no cloud provider functionality is available in kube-controller-manger (KEP-2395). Will not configure service controller." )
93
+ return nil , false , nil
115
94
}
116
95
func newNodeIpamControllerDescriptor () * ControllerDescriptor {
117
96
return & ControllerDescriptor {
@@ -133,11 +112,7 @@ func startNodeIpamController(ctx context.Context, controllerContext ControllerCo
133
112
134
113
if controllerContext .ComponentConfig .KubeCloudShared .CIDRAllocatorType == string (ipam .CloudAllocatorType ) {
135
114
// Cannot run cloud ipam controller if cloud provider is nil (--cloud-provider not set or set to 'external')
136
- if controllerContext .Cloud == nil {
137
- return nil , false , errors .New ("--cidr-allocator-type is set to 'CloudAllocator' but cloud provider is not configured" )
138
- }
139
- // As part of the removal of all the cloud providers from kubernetes, this support will be removed as well
140
- klog .Warningf ("DEPRECATED: 'CloudAllocator' bas been deprecated and will be removed in a future release." )
115
+ return nil , false , errors .New ("--cidr-allocator-type is set to 'CloudAllocator' but cloud provider is not configured" )
141
116
}
142
117
143
118
clusterCIDRs , err := validateCIDRs (controllerContext .ComponentConfig .KubeCloudShared .ClusterCIDR )
@@ -182,7 +157,7 @@ func startNodeIpamController(ctx context.Context, controllerContext ControllerCo
182
157
nodeIpamController , err := nodeipamcontroller .NewNodeIpamController (
183
158
ctx ,
184
159
controllerContext .InformerFactory .Core ().V1 ().Nodes (),
185
- controllerContext . Cloud ,
160
+ nil , // no cloud provider on kube-controller-manager since v1.31 (KEP-2395)
186
161
controllerContext .ClientBuilder .ClientOrDie ("node-controller" ),
187
162
clusterCIDRs ,
188
163
serviceCIDR ,
@@ -266,27 +241,8 @@ func newCloudNodeLifecycleControllerDescriptor() *ControllerDescriptor {
266
241
267
242
func startCloudNodeLifecycleController (ctx context.Context , controllerContext ControllerContext , controllerName string ) (controller.Interface , bool , error ) {
268
243
logger := klog .FromContext (ctx )
269
- if controllerContext .Cloud == nil {
270
- logger .Info ("Warning: node-controller is set, but no cloud provider specified. Will not configure node lifecyle controller." )
271
- return nil , false , nil
272
- }
273
-
274
- cloudNodeLifecycleController , err := cloudnodelifecyclecontroller .NewCloudNodeLifecycleController (
275
- controllerContext .InformerFactory .Core ().V1 ().Nodes (),
276
- // cloud node lifecycle controller uses existing cluster role from node-controller
277
- controllerContext .ClientBuilder .ClientOrDie ("node-controller" ),
278
- controllerContext .Cloud ,
279
- controllerContext .ComponentConfig .KubeCloudShared .NodeMonitorPeriod .Duration ,
280
- )
281
- if err != nil {
282
- // the controller manager should continue to run if the "Instances" interface is not
283
- // supported, though it's unlikely for a cloud provider to not support it
284
- logger .Error (err , "Failed to start cloud node lifecycle controller" )
285
- return nil , false , nil
286
- }
287
-
288
- go cloudNodeLifecycleController .Run (ctx , controllerContext .ControllerManagerMetrics )
289
- return nil , true , nil
244
+ logger .Info ("Warning: node-controller is set, but no cloud provider functionality is available in kube-controller-manger (KEP-2395). Will not configure node lifecyle controller." )
245
+ return nil , false , nil
290
246
}
291
247
292
248
func newNodeRouteControllerDescriptor () * ControllerDescriptor {
@@ -300,32 +256,8 @@ func newNodeRouteControllerDescriptor() *ControllerDescriptor {
300
256
301
257
func startNodeRouteController (ctx context.Context , controllerContext ControllerContext , controllerName string ) (controller.Interface , bool , error ) {
302
258
logger := klog .FromContext (ctx )
303
- if ! controllerContext .ComponentConfig .KubeCloudShared .AllocateNodeCIDRs || ! controllerContext .ComponentConfig .KubeCloudShared .ConfigureCloudRoutes {
304
- logger .Info ("Will not configure cloud provider routes for allocate-node-cidrs" , "CIDRs" , controllerContext .ComponentConfig .KubeCloudShared .AllocateNodeCIDRs , "routes" , controllerContext .ComponentConfig .KubeCloudShared .ConfigureCloudRoutes )
305
- return nil , false , nil
306
- }
307
- if controllerContext .Cloud == nil {
308
- logger .Info ("Warning: configure-cloud-routes is set, but no cloud provider specified. Will not configure cloud provider routes." )
309
- return nil , false , nil
310
- }
311
- routes , ok := controllerContext .Cloud .Routes ()
312
- if ! ok {
313
- logger .Info ("Warning: configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes." )
314
- return nil , false , nil
315
- }
316
-
317
- clusterCIDRs , err := validateCIDRs (controllerContext .ComponentConfig .KubeCloudShared .ClusterCIDR )
318
- if err != nil {
319
- return nil , false , err
320
- }
321
-
322
- routeController := routecontroller .New (routes ,
323
- controllerContext .ClientBuilder .ClientOrDie ("route-controller" ),
324
- controllerContext .InformerFactory .Core ().V1 ().Nodes (),
325
- controllerContext .ComponentConfig .KubeCloudShared .ClusterName ,
326
- clusterCIDRs )
327
- go routeController .Run (ctx , controllerContext .ComponentConfig .KubeCloudShared .RouteReconciliationPeriod .Duration , controllerContext .ControllerManagerMetrics )
328
- return nil , true , nil
259
+ logger .Info ("Warning: configure-cloud-routes is set, but no cloud provider functionality is available in kube-controller-manger (KEP-2395). Will not configure cloud provider routes." )
260
+ return nil , false , nil
329
261
}
330
262
331
263
func newPersistentVolumeBinderControllerDescriptor () * ControllerDescriptor {
0 commit comments