From 03b02f2cf289144a8b6fecf9f337cb5cef87ab07 Mon Sep 17 00:00:00 2001 From: liuwei Date: Fri, 13 Nov 2020 13:54:00 +0800 Subject: [PATCH] increase qps and burst --- pkg/hub/manager.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/hub/manager.go b/pkg/hub/manager.go index 090005900..4275acb63 100644 --- a/pkg/hub/manager.go +++ b/pkg/hub/manager.go @@ -18,21 +18,31 @@ import ( "github.com/open-cluster-management/registration/pkg/hub/rbacfinalizerdeletion" kubeinformers "k8s.io/client-go/informers" + "k8s.io/client-go/rest" ) // RunControllerManager starts the controllers on hub to manage spoke cluster registration. func RunControllerManager(ctx context.Context, controllerContext *controllercmd.ControllerContext) error { - kubeClient, err := kubernetes.NewForConfig(controllerContext.KubeConfig) + // If qps in kubconfig is not set, increase the qps and burst to enhance the ability of kube client to handle + // requests in concurrent + // TODO: Use ClientConnectionOverrides flags to change qps/burst when library-go exposes them in the future + kubeConfig := rest.CopyConfig(controllerContext.KubeConfig) + if kubeConfig.QPS == 0.0 { + kubeConfig.QPS = 100.0 + kubeConfig.Burst = 200 + } + + kubeClient, err := kubernetes.NewForConfig(kubeConfig) if err != nil { return err } - clusterClient, err := clusterv1client.NewForConfig(controllerContext.KubeConfig) + clusterClient, err := clusterv1client.NewForConfig(kubeConfig) if err != nil { return err } - workClient, err := workv1client.NewForConfig(controllerContext.KubeConfig) + workClient, err := workv1client.NewForConfig(kubeConfig) if err != nil { return err }