From f3e86bf589ebbf0c90faa5f4bd20de8f8c9b3258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Sell=C3=A9s=20Rosa?= Date: Sat, 9 Dec 2017 18:09:35 +0100 Subject: [PATCH] [stable/nginx-ingress] add HPA in case of Deployment (#2736) --- stable/nginx-ingress/Chart.yaml | 2 +- .../templates/controller-hpa.yaml | 26 +++++++++++++++++++ stable/nginx-ingress/values.yaml | 6 +++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 stable/nginx-ingress/templates/controller-hpa.yaml diff --git a/stable/nginx-ingress/Chart.yaml b/stable/nginx-ingress/Chart.yaml index 88e74145e6..2230767614 100755 --- a/stable/nginx-ingress/Chart.yaml +++ b/stable/nginx-ingress/Chart.yaml @@ -1,5 +1,5 @@ name: nginx-ingress -version: 0.8.15 +version: 0.8.16 appVersion: 0.9.0-beta.15 description: An nginx Ingress controller that uses ConfigMap to store the nginx configuration. icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png diff --git a/stable/nginx-ingress/templates/controller-hpa.yaml b/stable/nginx-ingress/templates/controller-hpa.yaml new file mode 100644 index 0000000000..db437d17d6 --- /dev/null +++ b/stable/nginx-ingress/templates/controller-hpa.yaml @@ -0,0 +1,26 @@ +{{- if eq .Values.controller.kind "Deployment" }} +{{- if .Values.controller.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + labels: + app: {{ template "name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.controller.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "controller.fullname" . }} +spec: + scaleTargetRef: + apiVersion: apps/v1beta1 + kind: Deployment + name: {{ template "controller.fullname" . }} + minReplicas: "{{ .Values.controller.autoscaling.minReplicas }}" + maxReplicas: "{{ .Values.controller.autoscaling.maxReplicas }}" + metrics: + - type: Resource + resource: + name: cpu + targetAverageUtilization: "{{ .Values.controller.autoscaling.targetAverageUtilization }}" +{{- end }} +{{- end }} diff --git a/stable/nginx-ingress/values.yaml b/stable/nginx-ingress/values.yaml index 9b6c8bab85..28e6c19532 100644 --- a/stable/nginx-ingress/values.yaml +++ b/stable/nginx-ingress/values.yaml @@ -97,6 +97,12 @@ controller: # cpu: 100m # memory: 64Mi + autoscaling: + enabled: false + # minReplicas: 1 + # maxReplicas: 11 + # targetAverageUtilization: 50 + ## Override NGINX template customTemplate: configMapName: ""