40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
{{- if and .Values.hpa.enabled .Values.services }}
|
|
{{- range $name, $svc := .Values.services }}
|
|
{{- if and $svc.hpa $svc.hpa.enabled }}
|
|
apiVersion: autoscaling/v2
|
|
kind: HorizontalPodAutoscaler
|
|
metadata:
|
|
name: {{ include "stellaops.fullname" (dict "root" $ "name" $name) }}
|
|
labels:
|
|
{{- include "stellaops.labels" (dict "root" $ "name" $name "svc" $svc) | nindent 4 }}
|
|
spec:
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: {{ include "stellaops.fullname" (dict "root" $ "name" $name) }}
|
|
minReplicas: {{ default $.Values.hpa.minReplicas $svc.hpa.minReplicas }}
|
|
maxReplicas: {{ default $.Values.hpa.maxReplicas $svc.hpa.maxReplicas }}
|
|
metrics:
|
|
{{- $cpu := coalesce $svc.hpa.cpu.targetPercentage $.Values.hpa.cpu.targetPercentage -}}
|
|
{{- if $cpu }}
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: {{ $cpu }}
|
|
{{- end }}
|
|
{{- $mem := coalesce $svc.hpa.memory.targetPercentage $.Values.hpa.memory.targetPercentage -}}
|
|
{{- if $mem }}
|
|
- type: Resource
|
|
resource:
|
|
name: memory
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: {{ $mem }}
|
|
{{- end }}
|
|
---
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|