@@ -865,6 +865,14 @@ func GetCSIDaemonSetYAMLWindows(args *DaemonsetYAMLArguments) string {
865865 debugLine = "#- -debug"
866866 }
867867
868+ var K8sAPITridentThrottle , K8sAPISidecarThrottle string
869+ if args .K8sAPIQPS != 0 {
870+ queriesPerSecond := args .K8sAPIQPS
871+ burst := getBurstValueForQPS (queriesPerSecond )
872+ K8sAPITridentThrottle = fmt .Sprintf ("- --k8s_api_qps=%d\n - --k8s_api_burst=%d" , queriesPerSecond , burst )
873+ K8sAPISidecarThrottle = fmt .Sprintf ("- --kube-api-qps=%d\n - --kube-api-burst=%d" , queriesPerSecond , burst )
874+ }
875+
868876 if IsLogLevelDebugOrHigher (args .LogLevel ) || args .Debug {
869877 sidecarLogLevel = "8"
870878 } else {
@@ -927,6 +935,8 @@ func GetCSIDaemonSetYAMLWindows(args *DaemonsetYAMLArguments) string {
927935 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{HTTP_REQUEST_TIMEOUT}" , args .HTTPRequestTimeout )
928936 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{SERVICE_ACCOUNT}" , args .ServiceAccountName )
929937 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{IMAGE_PULL_POLICY}" , args .ImagePullPolicy )
938+ daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{K8S_API_CLIENT_TRIDENT_THROTTLE}" , K8sAPITridentThrottle )
939+ daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{K8S_API_CLIENT_SIDECAR_THROTTLE}" , K8sAPISidecarThrottle )
930940 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "NODE_SELECTOR" , constructNodeSelector (args .NodeSelector ))
931941 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "NODE_TOLERATIONS" , constructTolerations (tolerations ))
932942 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "LABELS" , constructLabels (args .Labels ))
@@ -979,6 +989,14 @@ func GetCSIDaemonSetYAMLLinux(args *DaemonsetYAMLArguments) string {
979989 }
980990 }
981991
992+ var K8sAPITridentThrottle , K8sAPISidecarThrottle string
993+ if args .K8sAPIQPS != 0 {
994+ queriesPerSecond := args .K8sAPIQPS
995+ burst := getBurstValueForQPS (queriesPerSecond )
996+ K8sAPITridentThrottle = fmt .Sprintf ("- --k8s_api_qps=%d\n - --k8s_api_burst=%d" , queriesPerSecond , burst )
997+ K8sAPISidecarThrottle = fmt .Sprintf ("- --kube-api-qps=%d\n - --kube-api-burst=%d" , queriesPerSecond , burst )
998+ }
999+
9821000 if args .ImageRegistry == "" {
9831001 args .ImageRegistry = commonconfig .KubernetesCSISidecarRegistry
9841002 }
@@ -1010,6 +1028,8 @@ func GetCSIDaemonSetYAMLLinux(args *DaemonsetYAMLArguments) string {
10101028 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{IMAGE_PULL_POLICY}" , args .ImagePullPolicy )
10111029 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{ISCSI_SELF_HEALING_INTERVAL}" , args .ISCSISelfHealingInterval )
10121030 daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{ISCSI_SELF_HEALING_WAIT_TIME}" , args .ISCSISelfHealingWaitTime )
1031+ daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{K8S_API_CLIENT_TRIDENT_THROTTLE}" , K8sAPITridentThrottle )
1032+ daemonSetYAML = strings .ReplaceAll (daemonSetYAML , "{K8S_API_CLIENT_SIDECAR_THROTTLE}" , K8sAPISidecarThrottle )
10131033 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "NODE_SELECTOR" , constructNodeSelector (args .NodeSelector ))
10141034 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "NODE_TOLERATIONS" , constructTolerations (tolerations ))
10151035 daemonSetYAML = yaml .ReplaceMultilineTag (daemonSetYAML , "LABELS" , constructLabels (args .Labels ))
@@ -1136,6 +1156,7 @@ spec:
11361156 - "--iscsi_self_healing_interval={ISCSI_SELF_HEALING_INTERVAL}"
11371157 - "--iscsi_self_healing_wait_time={ISCSI_SELF_HEALING_WAIT_TIME}"
11381158 {DEBUG}
1159+ {K8S_API_CLIENT_TRIDENT_THROTTLE}
11391160 startupProbe:
11401161 httpGet:
11411162 path: /liveness
@@ -1202,6 +1223,7 @@ spec:
12021223 - "--v={SIDECAR_LOG_LEVEL}"
12031224 - "--csi-address=$(ADDRESS)"
12041225 - "--kubelet-registration-path=$(REGISTRATION_PATH)"
1226+ {K8S_API_CLIENT_SIDECAR_THROTTLE}
12051227 env:
12061228 - name: ADDRESS
12071229 value: /plugin/csi.sock
@@ -1330,6 +1352,7 @@ spec:
13301352 - "--https_rest"
13311353 - "--https_port={PROBE_PORT}"
13321354 {DEBUG}
1355+ {K8S_API_CLIENT_TRIDENT_THROTTLE}
13331356 # Windows requires named ports for it to actually bind
13341357 ports:
13351358 - containerPort: {PROBE_PORT}
@@ -1406,6 +1429,7 @@ spec:
14061429 - --v=2
14071430 - --csi-address=$(CSI_ENDPOINT)
14081431 - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
1432+ {K8S_API_CLIENT_SIDECAR_THROTTLE}
14091433 livenessProbe:
14101434 exec:
14111435 command:
0 commit comments