From 376e22462dab0a1326fa7371ef83e5e9e90221d9 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 16 Apr 2021 21:44:30 +0200
Subject: [PATCH] Fix autoscaling configuration

---
 templates/hpa.yaml | 43 +++++++++++++++++++++++++++++++++++--------
 values.yaml        | 14 ++++++++++----
 2 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/templates/hpa.yaml b/templates/hpa.yaml
index 4c114d4..3535255 100644
--- a/templates/hpa.yaml
+++ b/templates/hpa.yaml
@@ -2,27 +2,54 @@
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
 metadata:
-  name: {{ include "aleksis.fullname" . }}
+  name: {{ include "aleksis.fullname" . }}-app
   labels:
     {{- include "aleksis.labels" . | nindent 4 }}
 spec:
   scaleTargetRef:
     apiVersion: apps/v1
     kind: Deployment
-    name: {{ include "aleksis.fullname" . }}
-  minReplicas: {{ .Values.autoscaling.minReplicas }}
-  maxReplicas: {{ .Values.autoscaling.maxReplicas }}
+    name: {{ include "aleksis.fullname" . }}-app
+  minReplicas: {{ .Values.autoscaling.app.minReplicas }}
+  maxReplicas: {{ .Values.autoscaling.app.maxReplicas }}
   metrics:
-  {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
+  {{- if .Values.autoscaling.app.targetCPUUtilizationPercentage }}
     - type: Resource
       resource:
         name: cpu
-        targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
+        targetAverageUtilization: {{ .Values.autoscaling.app.targetCPUUtilizationPercentage }}
   {{- end }}
-  {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
+  {{- if .Values.autoscaling.app.targetMemoryUtilizationPercentage }}
     - type: Resource
       resource:
         name: memory
-        targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
+        targetAverageUtilization: {{ .Values.autoscaling.app.targetMemoryUtilizationPercentage }}
+  {{- end }}
+---
+apiVersion: autoscaling/v2beta1
+kind: HorizontalPodAutoscaler
+metadata:
+  name: {{ include "aleksis.fullname" . }}-celery-worker
+  labels:
+    {{- include "aleksis.labels" . | nindent 4 }}
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: {{ include "aleksis.fullname" . }}-celery-worker
+  minReplicas: {{ .Values.autoscaling.celery.minReplicas }}
+  maxReplicas: {{ .Values.autoscaling.celery.maxReplicas }}
+  metrics:
+  {{- if .Values.autoscaling.celery.targetCPUUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: cpu
+        targetAverageUtilization: {{ .Values.autoscaling.celery.targetCPUUtilizationPercentage }}
+  {{- end }}
+  {{- if .Values.autoscaling.celery.targetMemoryUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: memory
+        targetAverageUtilization: {{ .Values.autoscaling.celery.targetMemoryUtilizationPercentage }}
   {{- end }}
 {{- end }}
diff --git a/values.yaml b/values.yaml
index 8f04a10..7322a84 100644
--- a/values.yaml
+++ b/values.yaml
@@ -68,10 +68,16 @@ resources: {}
 
 autoscaling:
   enabled: false
-  minReplicas: 1
-  maxReplicas: 100
-  targetCPUUtilizationPercentage: 80
-  # targetMemoryUtilizationPercentage: 80
+  app:
+    minReplicas: 1
+    maxReplicas: 100
+    targetCPUUtilizationPercentage: 80
+    targetMemoryUtilizationPercentage: 80
+  celery:
+    minReplicas: 1
+    maxReplicas: 100
+    targetCPUUtilizationPercentage: 80
+    targetMemoryUtilizationPercentage: 80
 
 nodeSelector: {}
 
-- 
GitLab