diff --git a/charts/event-worker/Chart.yaml b/charts/event-worker/Chart.yaml index 7b4641d..1673b0d 100644 --- a/charts/event-worker/Chart.yaml +++ b/charts/event-worker/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 description: EcoVadis Helm chart for K8s Event driven Deployment name: charts-event-worker type: application -version: 1.5.2 +version: 1.6.0 dependencies: - name: charts-core version: 2.7.0 diff --git a/charts/event-worker/templates/hpa.yaml b/charts/event-worker/templates/hpa.yaml new file mode 100644 index 0000000..3db7122 --- /dev/null +++ b/charts/event-worker/templates/hpa.yaml @@ -0,0 +1,38 @@ +{{- if not .Values.global.keda.enabled }} +{{- if .Values.global.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "charts-event-worker.fullname" . }} + labels: + {{- include "charts-event-worker.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "charts-event-worker.fullname" . }} + minReplicas: {{ .Values.global.replicaCount }} +{{- if .Values.global.autoscaling.enabled }} + maxReplicas: {{ .Values.global.autoscaling.maxReplicas }} +{{ else }} + maxReplicas: {{ .Values.global.replicaCount }} +{{- end }} + metrics: + {{- if .Values.global.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.global.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.global.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.global.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} +{{- end }} diff --git a/charts/event-worker/templates/scaled-object.yaml b/charts/event-worker/templates/scaled-object.yaml index ebb2717..27c2b68 100644 --- a/charts/event-worker/templates/scaled-object.yaml +++ b/charts/event-worker/templates/scaled-object.yaml @@ -1,3 +1,4 @@ +{{- if .Values.global.keda.enabled }} apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: @@ -47,4 +48,5 @@ spec: {{- end }} cloud: AzurePublicCloud {{- end }} - {{- end }} \ No newline at end of file + {{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/event-worker/templates/trigger-authentication.yaml b/charts/event-worker/templates/trigger-authentication.yaml index 7b2c9b6..18469a8 100644 --- a/charts/event-worker/templates/trigger-authentication.yaml +++ b/charts/event-worker/templates/trigger-authentication.yaml @@ -1,3 +1,4 @@ +{{- if .Values.global.keda.enabled }} {{- if .Values.global.keda.triggers.azureServiceBus.triggers }} apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication @@ -27,3 +28,4 @@ spec: provider: azure-workload {{ end }} {{ end }} +{{ end }} diff --git a/charts/event-worker/values.yaml b/charts/event-worker/values.yaml index a63dea9..26173dd 100644 --- a/charts/event-worker/values.yaml +++ b/charts/event-worker/values.yaml @@ -163,6 +163,7 @@ global: # https://keda.sh/docs/latest/reference/scaledobject-spec/ keda: + enabled: true autoscalingPaused: false # If true, KEDA will not scale the worker pollingInterval: 30 # Polling interval in seconds minReplicaCount: 2 # Minimum number of instances to run at the same time @@ -185,6 +186,12 @@ global: messageCount: 5 # Optional. Count of messages to trigger scaling out: 1 -> N. Default: 5 messages activationMessageCount: # Target value for activating the scaler: 0 -> 1. Default: 0 + # Can only used when keda scaling is disabled + autoscaling: + enabled: false + maxReplicas: 4 + targetCPUUtilizationPercentage: 70 + # Setting to enable or disable creation of Persistent Volume Claims # Each entry creates a separate PVC and a corresponding volume mount in the deployment. # persistentVolumes: