From fefcb8c9f8e03257585d82f6205d75d0157a4018 Mon Sep 17 00:00:00 2001
From: David Medinets <david.medinets@gmail.com>
Date: Tue, 3 Nov 2020 03:42:15 -0500
Subject: [PATCH] Allow the eventRecordQPS setting to be set. (#6880)

* Allow the eventRecordQPS setting to be set.

The eventRecordQPS parameter controls rate limiting for event recording. When zero, unlimited events can cause denial-of-service situations. For my situation, I don't need more than a setting of "5". This change allows me to configure the setting before creating the cluster.

* Allow the eventRecordQPS setting to be set.

The default settings (see types.go) is five. So, this change does not affect the cluster provisioning. However, it does allow for the setting to be changed.
---
 .../kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2  | 3 +++
 roles/kubespray-defaults/defaults/main.yaml                   | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
index bd5f0eaa3..826234fbd 100644
--- a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
+++ b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
@@ -91,3 +91,6 @@ tlsCipherSuites:
 - {{ tls }}
 {% endfor %}
 {% endif %}
+{% if kubelet_event_record_qps %}
+eventRecordQPS: {{ kubelet_event_record_qps }}
+{% endif %}
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index b412b7da5..4886fa431 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -534,3 +534,7 @@ host_architecture: >-
   {%- else -%}
   {{ ansible_architecture }}
   {%- endif -%}
+
+# Sets the eventRecordQPS parameter in kubelet-config.yaml. The default value is 5 (see types.go)
+# Setting it to 0 allows unlimited requests per second.
+kubelet_event_record_qps: 5
-- 
GitLab