...
1
16
17
18
19
20 package app
21
22 import (
23 "context"
24
25 "k8s.io/component-base/featuregate"
26 "k8s.io/controller-manager/controller"
27 "k8s.io/kubernetes/cmd/kube-controller-manager/names"
28 "k8s.io/kubernetes/pkg/controller/servicecidrs"
29 "k8s.io/kubernetes/pkg/features"
30 )
31
32 func newServiceCIDRsControllerDescriptor() *ControllerDescriptor {
33 return &ControllerDescriptor{
34 name: names.ServiceCIDRController,
35 initFunc: startServiceCIDRsController,
36 requiredFeatureGates: []featuregate.Feature{
37 features.MultiCIDRServiceAllocator,
38 }}
39 }
40 func startServiceCIDRsController(ctx context.Context, controllerContext ControllerContext, controllerName string) (controller.Interface, bool, error) {
41 go servicecidrs.NewController(
42 ctx,
43 controllerContext.InformerFactory.Networking().V1alpha1().ServiceCIDRs(),
44 controllerContext.InformerFactory.Networking().V1alpha1().IPAddresses(),
45 controllerContext.ClientBuilder.ClientOrDie("service-cidrs-controller"),
46 ).Run(ctx, 5)
47
48 return nil, true, nil
49
50 }
51
View as plain text