38 lines
1.3 KiB
Smarty
38 lines
1.3 KiB
Smarty
{{/*
|
|
This template serves as a blueprint for horizontal pod autoscaler objects that are created
|
|
using the common library.
|
|
*/}}
|
|
{{- define "common.classes.hpa" -}}
|
|
{{- if .Values.autoscaling.enabled -}}
|
|
{{- $hpaName := include "common.names.fullname" . -}}
|
|
{{- $targetName := include "common.names.fullname" . }}
|
|
---
|
|
apiVersion: autoscaling/v2beta1
|
|
kind: HorizontalPodAutoscaler
|
|
metadata:
|
|
name: {{ $hpaName }}
|
|
labels: {{- include "common.labels" $ | nindent 4 }}
|
|
annotations: {{- include "common.annotations" $ | nindent 4 }}
|
|
spec:
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: {{ include "common.names.controllerType" . }}
|
|
name: {{ .Values.autoscaling.target | default $targetName }}
|
|
minReplicas: {{ .Values.autoscaling.minReplicas | default 1 }}
|
|
maxReplicas: {{ .Values.autoscaling.maxReplicas | default 3 }}
|
|
metrics:
|
|
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
|
{{- end }}
|
|
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
|
- type: Resource
|
|
resource:
|
|
name: memory
|
|
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
|
{{- end }}
|
|
{{- end -}}
|
|
{{- end -}}
|