61 lines
2.6 KiB
YAML
61 lines
2.6 KiB
YAML
{{- /*
|
|
Meesho Custom: KEDA ScaledObject for Envoy autoscaling
|
|
*/}}
|
|
|
|
{{- if .Values.envoy.autoscaling.keda.enabled }}
|
|
apiVersion: keda.sh/v1alpha1
|
|
kind: ScaledObject
|
|
metadata:
|
|
name: {{ printf "%s-envoy" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
|
|
namespace: {{ include "common.names.namespace" . | quote }}
|
|
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.envoy.image "chart" .Chart ) ) }}
|
|
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
|
|
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
|
|
app.kubernetes.io/component: envoy
|
|
{{- if .Values.commonAnnotations }}
|
|
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: {{ printf "%s-envoy" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
|
|
pollingInterval: {{ .Values.envoy.autoscaling.keda.pollingInterval }}
|
|
minReplicaCount: {{ .Values.envoy.autoscaling.minReplicas }}
|
|
maxReplicaCount: {{ .Values.envoy.autoscaling.maxReplicas }}
|
|
advanced:
|
|
horizontalPodAutoscalerConfig:
|
|
behavior:
|
|
scaleDown:
|
|
stabilizationWindowSeconds: {{ .Values.envoy.autoscaling.keda.stabilizationWindowSeconds | default "300" }}
|
|
policies:
|
|
{{- range .Values.envoy.autoscaling.keda.scaledown.policies }}
|
|
- type: {{ .type }}
|
|
value: {{ .value }}
|
|
periodSeconds: {{ .periodseconds }}
|
|
{{- end }}
|
|
selectPolicy: {{ .Values.envoy.autoscaling.keda.scaledown.selectpolicy }}
|
|
scaleUp:
|
|
stabilizationWindowSeconds: {{ .Values.envoy.autoscaling.keda.scaleup.stabilizationWindowSeconds }}
|
|
policies:
|
|
{{- range .Values.envoy.autoscaling.keda.scaleup.policies }}
|
|
- type: {{ .type }}
|
|
value: {{ .value }}
|
|
periodSeconds: {{ .periodseconds }}
|
|
{{- end }}
|
|
selectPolicy: {{ .Values.envoy.autoscaling.keda.scaleup.selectpolicy }}
|
|
triggers:
|
|
- metadata:
|
|
value: {{ .Values.envoy.autoscaling.targetCPU | quote }}
|
|
metricType: Utilization
|
|
type: cpu
|
|
- metadata:
|
|
value: {{ .Values.envoy.autoscaling.targetMemory | quote }}
|
|
metricType: Utilization
|
|
type: memory
|
|
{{- if .Values.envoy.autoscaling.keda.triggers }}
|
|
{{- toYaml .Values.envoy.autoscaling.keda.triggers | nindent 2 }}
|
|
{{- end }}
|
|
|
|
{{- end }}
|