Make k8s client rate limiter parameters configurable (#3848)
Co-authored-by: Taketoshi Fujiwara <t-b-fujiwara@mercari.com>
This commit is contained in:
		
							parent
							
								
									488b0956fd
								
							
						
					
					
						commit
						7e04027d19
					
				|  | @ -85,6 +85,12 @@ spec: | ||||||
|         {{- range .Values.flags.excludeLabelPropagationPrefixes }} |         {{- range .Values.flags.excludeLabelPropagationPrefixes }} | ||||||
|         - "--exclude-label-propagation-prefix={{ . }}" |         - "--exclude-label-propagation-prefix={{ . }}" | ||||||
|         {{- end }} |         {{- end }} | ||||||
|  |         {{- with .Values.flags.k8sClientRateLimiterQPS }} | ||||||
|  |         - "--k8s-client-rate-limiter-qps={{ . }}" | ||||||
|  |         {{- end }} | ||||||
|  |         {{- with .Values.flags.k8sClientRateLimiterBurst }} | ||||||
|  |         - "--k8s-client-rate-limiter-burst={{ . }}" | ||||||
|  |         {{- end }} | ||||||
|         command: |         command: | ||||||
|         - "/manager" |         - "/manager" | ||||||
|         {{- with .Values.metrics }} |         {{- with .Values.metrics }} | ||||||
|  |  | ||||||
|  | @ -135,3 +135,7 @@ flags: | ||||||
|   ## Labels that match prefix specified in the list are excluded from propagation. |   ## Labels that match prefix specified in the list are excluded from propagation. | ||||||
|   # excludeLabelPropagationPrefixes: |   # excludeLabelPropagationPrefixes: | ||||||
|   #   - "argocd.argoproj.io/instance" |   #   - "argocd.argoproj.io/instance" | ||||||
|  | 
 | ||||||
|  |   ## Defines the K8s client rate limiter parameters. | ||||||
|  |   # k8sClientRateLimiterQPS: 20 | ||||||
|  |   # k8sClientRateLimiterBurst: 30 | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								main.go
								
								
								
								
							
							
						
						
									
										11
									
								
								main.go
								
								
								
								
							|  | @ -105,6 +105,9 @@ func main() { | ||||||
| 		opts = actionsgithubcom.OptionsWithDefault() | 		opts = actionsgithubcom.OptionsWithDefault() | ||||||
| 
 | 
 | ||||||
| 		commonRunnerLabels commaSeparatedStringSlice | 		commonRunnerLabels commaSeparatedStringSlice | ||||||
|  | 
 | ||||||
|  | 		k8sClientRateLimiterQPS   int | ||||||
|  | 		k8sClientRateLimiterBurst int | ||||||
| 	) | 	) | ||||||
| 	var c github.Config | 	var c github.Config | ||||||
| 	err = envconfig.Process("github", &c) | 	err = envconfig.Process("github", &c) | ||||||
|  | @ -148,6 +151,8 @@ func main() { | ||||||
| 	flag.BoolVar(&autoScalingRunnerSetOnly, "auto-scaling-runner-set-only", false, "Make controller only reconcile AutoRunnerScaleSet object.") | 	flag.BoolVar(&autoScalingRunnerSetOnly, "auto-scaling-runner-set-only", false, "Make controller only reconcile AutoRunnerScaleSet object.") | ||||||
| 	flag.StringVar(&updateStrategy, "update-strategy", "immediate", `Resources reconciliation strategy on upgrade with running/pending jobs. Valid values are: "immediate", "eventual". Defaults to "immediate".`) | 	flag.StringVar(&updateStrategy, "update-strategy", "immediate", `Resources reconciliation strategy on upgrade with running/pending jobs. Valid values are: "immediate", "eventual". Defaults to "immediate".`) | ||||||
| 	flag.Var(&autoScalerImagePullSecrets, "auto-scaler-image-pull-secrets", "The default image-pull secret name for auto-scaler listener container.") | 	flag.Var(&autoScalerImagePullSecrets, "auto-scaler-image-pull-secrets", "The default image-pull secret name for auto-scaler listener container.") | ||||||
|  | 	flag.IntVar(&k8sClientRateLimiterQPS, "k8s-client-rate-limiter-qps", 20, "The QPS value of the K8s client rate limiter.") | ||||||
|  | 	flag.IntVar(&k8sClientRateLimiterBurst, "k8s-client-rate-limiter-burst", 30, "The burst value of the K8s client rate limiter.") | ||||||
| 	flag.Parse() | 	flag.Parse() | ||||||
| 
 | 
 | ||||||
| 	runnerPodDefaults.RunnerImagePullSecrets = runnerImagePullSecrets | 	runnerPodDefaults.RunnerImagePullSecrets = runnerImagePullSecrets | ||||||
|  | @ -219,7 +224,11 @@ func main() { | ||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ | 	cfg := ctrl.GetConfigOrDie() | ||||||
|  | 	cfg.QPS = float32(k8sClientRateLimiterQPS) | ||||||
|  | 	cfg.Burst = k8sClientRateLimiterBurst | ||||||
|  | 
 | ||||||
|  | 	mgr, err := ctrl.NewManager(cfg, ctrl.Options{ | ||||||
| 		Scheme: scheme, | 		Scheme: scheme, | ||||||
| 		Metrics: metricsserver.Options{ | 		Metrics: metricsserver.Options{ | ||||||
| 			BindAddress: metricsAddr, | 			BindAddress: metricsAddr, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue