Files
common/templates/_hpa.yaml
2020-04-15 16:12:37 +08:00

44 lines
1.2 KiB
YAML

{{/* vim: set filetype=mustache: */}}
{{- define "common.hpa.tpl" -}}
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
{{ include "common.metadata" . }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "common.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- with .Values.autoscaling.cpuUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ . }}
{{- end }}
{{- with .Values.autoscaling.memoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ . }}
{{- end -}}
{{- end -}}
{{- define "common.hpa.if" -}}
{{- $top := first . -}}
{{- $autoscaling := $top.Values.autoscaling | default (dict) -}}
{{- if $autoscaling.enabled -}}
{{- include "common.utils.merge" (append . "common.hpa.tpl") -}}
{{- end -}}
{{- end -}}
{{- define "common.hpa" -}}
{{- include "common.utils.flattenCall" (list "common.hpa.if" .) -}}
{{- end -}}