From e9a294fd9c6f94cbbf3cd75ac9bb020226a4438d Mon Sep 17 00:00:00 2001
From: Matthew Mosesohn <mmosesohn@mirantis.com>
Date: Thu, 23 Mar 2017 12:11:30 +0300
Subject: [PATCH] Significantly reduce memory requirements

Canal runs more pods and upgrades need a bit of extra
room to load new pods in and get the old ones out.
---
 roles/dnsmasq/defaults/main.yml               | 2 +-
 roles/kubernetes/master/defaults/main.yml     | 6 +++---
 roles/kubernetes/master/tasks/pre-upgrade.yml | 2 +-
 roles/kubernetes/node/defaults/main.yml       | 2 +-
 roles/network_plugin/canal/defaults/main.yml  | 6 +++---
 5 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/roles/dnsmasq/defaults/main.yml b/roles/dnsmasq/defaults/main.yml
index 21d051ded..58b1b7f1d 100644
--- a/roles/dnsmasq/defaults/main.yml
+++ b/roles/dnsmasq/defaults/main.yml
@@ -24,7 +24,7 @@ dnsmasq_image_tag: "{{ dnsmasq_version }}"
 # Limits for dnsmasq/kubedns apps
 dns_cpu_limit: 100m
 dns_memory_limit: 170Mi
-dns_cpu_requests: 70m
+dns_cpu_requests: 40m
 dns_memory_requests: 50Mi
 
 # Autoscaler parameters
diff --git a/roles/kubernetes/master/defaults/main.yml b/roles/kubernetes/master/defaults/main.yml
index 2fd307801..9b6e3eff4 100644
--- a/roles/kubernetes/master/defaults/main.yml
+++ b/roles/kubernetes/master/defaults/main.yml
@@ -19,7 +19,7 @@ kube_apiserver_storage_backend: etcd3
 # Limits for kube components
 kube_controller_memory_limit: 512M
 kube_controller_cpu_limit: 250m
-kube_controller_memory_requests: 170M
+kube_controller_memory_requests: 100M
 kube_controller_cpu_requests: 100m
 kube_controller_node_monitor_grace_period: 40s
 kube_controller_node_monitor_period: 5s
@@ -27,11 +27,11 @@ kube_controller_pod_eviction_timeout: 5m0s
 kube_scheduler_memory_limit: 512M
 kube_scheduler_cpu_limit: 250m
 kube_scheduler_memory_requests: 170M
-kube_scheduler_cpu_requests: 100m
+kube_scheduler_cpu_requests: 80m
 kube_apiserver_memory_limit: 2000M
 kube_apiserver_cpu_limit: 800m
 kube_apiserver_memory_requests: 256M
-kube_apiserver_cpu_requests: 300m
+kube_apiserver_cpu_requests: 100m
 
 
 ## Enable/Disable Kube API Server Authentication Methods
diff --git a/roles/kubernetes/master/tasks/pre-upgrade.yml b/roles/kubernetes/master/tasks/pre-upgrade.yml
index adafe80ae..948b944c5 100644
--- a/roles/kubernetes/master/tasks/pre-upgrade.yml
+++ b/roles/kubernetes/master/tasks/pre-upgrade.yml
@@ -38,7 +38,7 @@
   environment:
     ETCDCTL_API: 2
   register: old_data_exists
-  delegate_to: "{{groups['kube-master'][0]}}"
+  delegate_to: "{{groups['etcd'][0]}}"
   when: kube_apiserver_storage_backend == "etcd3"
   failed_when: false
 
diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml
index e29847a39..b4ca13d12 100644
--- a/roles/kubernetes/node/defaults/main.yml
+++ b/roles/kubernetes/node/defaults/main.yml
@@ -21,7 +21,7 @@ kube_proxy_cpu_requests: 150m
 nginx_memory_limit: 512M
 nginx_cpu_limit: 300m
 nginx_memory_requests: 32M
-nginx_cpu_requests: 50m
+nginx_cpu_requests: 25m
 
 # kube_api_runtime_config:
 #   - extensions/v1beta1/daemonsets=true
diff --git a/roles/network_plugin/canal/defaults/main.yml b/roles/network_plugin/canal/defaults/main.yml
index f82ff831e..d4018db4d 100644
--- a/roles/network_plugin/canal/defaults/main.yml
+++ b/roles/network_plugin/canal/defaults/main.yml
@@ -21,13 +21,13 @@ canal_policy_dir: /etc/kubernetes/policy
 calico_node_memory_limit: 500M
 calico_node_cpu_limit: 200m
 calico_node_memory_requests: 64M
-calico_node_cpu_requests: 100m
+calico_node_cpu_requests: 50m
 flannel_memory_limit: 500M
 flannel_cpu_limit: 200m
 flannel_memory_requests: 64M
-flannel_cpu_requests: 100m
+flannel_cpu_requests: 50m
 calicoctl_memory_limit: 170M
 calicoctl_cpu_limit: 100m
 calicoctl_memory_requests: 32M
-calicoctl_cpu_requests: 50m
+calicoctl_cpu_requests: 25m
 
-- 
GitLab