diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml
index 3b549da86ffcb0edef7463805bc7b844de66465b..af441ffa90d3e70186142e31fa2329f407b3cd9d 100644
--- a/roles/kubernetes/node/defaults/main.yml
+++ b/roles/kubernetes/node/defaults/main.yml
@@ -46,6 +46,8 @@ kubelet_status_update_frequency: 10s
 loadbalancer_apiserver_memory_requests: 32M
 loadbalancer_apiserver_cpu_requests: 25m
 
+loadbalancer_apiserver_keepalive_timeout: 5m
+
 # kube_api_runtime_config:
 #   - extensions/v1beta1/daemonsets=true
 #   - extensions/v1beta1/deployments=true
diff --git a/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2 b/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
index 6c467bda28daf45f8e66e36e2c34f3c81521d383..ef3269fc85c3da71a37b0c841e7c80704ca0f8b2 100644
--- a/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
+++ b/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
@@ -13,7 +13,7 @@ defaults
     timeout http-request    5m
     timeout queue           5m
     timeout connect         30s
-    timeout client          15m
+    timeout client          {{ loadbalancer_apiserver_keepalive_timeout }}
     timeout server          15m
     timeout http-keep-alive 30s
     timeout check           30s
diff --git a/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2 b/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
index 862a7c6db9e28c2b862a42fbf3a140b094dd6bcd..6361a6f391bdc99d4463c62a314b3318955267b1 100644
--- a/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
+++ b/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
@@ -32,7 +32,7 @@ http {
   tcp_nopush on;
   tcp_nodelay on;
 
-  keepalive_timeout 75s;
+  keepalive_timeout {{ loadbalancer_apiserver_keepalive_timeout }};
   keepalive_requests 100;
   reset_timedout_connection on;
   server_tokens off;