Skip to content

Commit fc89d0c

Browse files
committed
set concurrency for controllers
Signed-off-by: roc <[email protected]>
1 parent 5a9d336 commit fc89d0c

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

cmd/app/setup_manager.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func SetupManager(mgr ctrl.Manager) {
7272
Client: mgr.GetClient(),
7373
Scheme: mgr.GetScheme(),
7474
Recorder: mgr.GetEventRecorderFor("clbportpool-controller"),
75-
}).SetupWithManager(mgr); err != nil {
75+
}).SetupWithManager(mgr, workers); err != nil {
7676
setupLog.Error(err, "unable to create controller", "controller", "CLBPortPool")
7777
os.Exit(1)
7878
}
@@ -86,7 +86,7 @@ func SetupManager(mgr ctrl.Manager) {
8686
Client: mgr.GetClient(),
8787
Scheme: mgr.GetScheme(),
8888
Recorder: mgr.GetEventRecorderFor("clbpodbinding-controller"),
89-
}).SetupWithManager(mgr); err != nil {
89+
}).SetupWithManager(mgr, workers); err != nil {
9090
setupLog.Error(err, "unable to create controller", "controller", "CLBPodBinding")
9191
os.Exit(1)
9292
}
@@ -100,7 +100,7 @@ func SetupManager(mgr ctrl.Manager) {
100100
Client: mgr.GetClient(),
101101
Scheme: mgr.GetScheme(),
102102
Recorder: mgr.GetEventRecorderFor("pod-controller"),
103-
}).SetupWithManager(mgr); err != nil {
103+
}).SetupWithManager(mgr, workers); err != nil {
104104
setupLog.Error(err, "unable to create controller", "controller", "Pod")
105105
os.Exit(1)
106106
}

internal/controller/clbpodbinding_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"k8s.io/client-go/tools/record"
3131
ctrl "sigs.k8s.io/controller-runtime"
3232
"sigs.k8s.io/controller-runtime/pkg/client"
33+
"sigs.k8s.io/controller-runtime/pkg/controller"
3334
"sigs.k8s.io/controller-runtime/pkg/event"
3435
"sigs.k8s.io/controller-runtime/pkg/handler"
3536
"sigs.k8s.io/controller-runtime/pkg/log"
@@ -515,13 +516,16 @@ func (r *CLBPodBindingReconciler) cleanup(ctx context.Context, pb *networkingv1a
515516
}
516517

517518
// SetupWithManager sets up the controller with the Manager.
518-
func (r *CLBPodBindingReconciler) SetupWithManager(mgr ctrl.Manager) error {
519+
func (r *CLBPodBindingReconciler) SetupWithManager(mgr ctrl.Manager, workers int) error {
519520
return ctrl.NewControllerManagedBy(mgr).
520521
For(&networkingv1alpha1.CLBPodBinding{}).
521522
Watches(
522523
&corev1.Pod{},
523524
handler.EnqueueRequestsFromMapFunc(r.findObjectsForPod),
524525
).
526+
WithOptions(controller.Options{
527+
MaxConcurrentReconciles: workers,
528+
}).
525529
Named("clbpodbinding").
526530
Complete(r)
527531
}

internal/controller/clbportpool_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"k8s.io/client-go/tools/record"
2929
ctrl "sigs.k8s.io/controller-runtime"
3030
"sigs.k8s.io/controller-runtime/pkg/client"
31+
"sigs.k8s.io/controller-runtime/pkg/controller"
3132

3233
networkingv1alpha1 "github.com/imroc/tke-extend-network-controller/api/v1alpha1"
3334
"github.com/imroc/tke-extend-network-controller/internal/portpool"
@@ -272,9 +273,12 @@ func (r *CLBPortPoolReconciler) sync(ctx context.Context, pool *networkingv1alph
272273
}
273274

274275
// SetupWithManager sets up the controller with the Manager.
275-
func (r *CLBPortPoolReconciler) SetupWithManager(mgr ctrl.Manager) error {
276+
func (r *CLBPortPoolReconciler) SetupWithManager(mgr ctrl.Manager, workers int) error {
276277
return ctrl.NewControllerManagedBy(mgr).
277278
For(&networkingv1alpha1.CLBPortPool{}).
279+
WithOptions(controller.Options{
280+
MaxConcurrentReconciles: workers,
281+
}).
278282
Named("clbportpool").
279283
Complete(r)
280284
}

internal/controller/pod_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"strings"
2727
"time"
2828

29+
"sigs.k8s.io/controller-runtime/pkg/controller"
2930
"sigs.k8s.io/controller-runtime/pkg/event"
3031

3132
networkingv1alpha1 "github.com/imroc/tke-extend-network-controller/api/v1alpha1"
@@ -161,13 +162,16 @@ func (r *PodReconciler) sync(ctx context.Context, pod *corev1.Pod) (result ctrl.
161162
var podEventSource = make(chan event.TypedGenericEvent[client.Object])
162163

163164
// SetupWithManager sets up the controller with the Manager.
164-
func (r *PodReconciler) SetupWithManager(mgr ctrl.Manager) error {
165+
func (r *PodReconciler) SetupWithManager(mgr ctrl.Manager, workers int) error {
165166
return ctrl.NewControllerManagedBy(mgr).
166167
Watches(
167168
&corev1.Pod{},
168169
handler.EnqueueRequestsFromMapFunc(r.findObjectsForPod),
169170
).
170171
WatchesRawSource(source.Channel(podEventSource, &handler.EnqueueRequestForObject{})).
172+
WithOptions(controller.Options{
173+
MaxConcurrentReconciles: workers,
174+
}).
171175
Named("pod").
172176
Complete(r)
173177
}

0 commit comments

Comments
 (0)