From 5e16401636e8b9a5eb72d3e66a6ddb2c9982e0b9 Mon Sep 17 00:00:00 2001 From: Sylvain Desbureaux Date: Wed, 23 Sep 2020 13:35:31 +0200 Subject: [PATCH] [CONSUL] Add limits to consul chart. Having limits is important in order to have safe deployment. consul didn't had one so let's add them. Issue-ID: OOM-2230 Signed-off-by: Sylvain Desbureaux Change-Id: Idb49a5db304236c0786848acbc69c786084d7e33 --- .../consul-server/templates/statefulset.yaml | 1 + kubernetes/consul/charts/consul-server/values.yaml | 28 +++++++++++++++++++- kubernetes/consul/templates/deployment.yaml | 1 + kubernetes/consul/values.yaml | 30 ++++++++++++++++++++-- 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/kubernetes/consul/charts/consul-server/templates/statefulset.yaml b/kubernetes/consul/charts/consul-server/templates/statefulset.yaml index 5bdbe0f232..549fb3a159 100644 --- a/kubernetes/consul/charts/consul-server/templates/statefulset.yaml +++ b/kubernetes/consul/charts/consul-server/templates/statefulset.yaml @@ -68,3 +68,4 @@ spec: port: {{ .Values.service.internalPort }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} + resources: {{ include "common.resources" . | nindent 10 }} diff --git a/kubernetes/consul/charts/consul-server/values.yaml b/kubernetes/consul/charts/consul-server/values.yaml index f4f3b16dad..81472e71eb 100644 --- a/kubernetes/consul/charts/consul-server/values.yaml +++ b/kubernetes/consul/charts/consul-server/values.yaml @@ -63,4 +63,30 @@ service: ingress: enabled: false -resources: {} +#resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +resources: + small: + limits: + cpu: 100m + memory: 100Mi + requests: + cpu: 30m + memory: 25Mi + large: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 1 + memory: 2Gi + unlimited: {} diff --git a/kubernetes/consul/templates/deployment.yaml b/kubernetes/consul/templates/deployment.yaml index a7774e9878..449ed9b480 100644 --- a/kubernetes/consul/templates/deployment.yaml +++ b/kubernetes/consul/templates/deployment.yaml @@ -59,6 +59,7 @@ spec: name: consul-agent-scripts-config - mountPath: /consul/certs name: consul-agent-certs-config + resources: {{ include "common.resources" . | nindent 10 }} volumes: - configMap: name: {{ include "common.fullname" . }}-configmap diff --git a/kubernetes/consul/values.yaml b/kubernetes/consul/values.yaml index 72d9a38fa7..512c4c3dac 100644 --- a/kubernetes/consul/values.yaml +++ b/kubernetes/consul/values.yaml @@ -65,8 +65,34 @@ ingress: port: 8800 config: ssl: "none" - -resources: {} + +#resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +resources: + small: + limits: + cpu: 1 + memory: 1500Mi + requests: + cpu: 650m + memory: 530Mi + large: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 1 + memory: 2Gi + unlimited: {} odl: jolokia: -- 2.16.6