Skip to content

Commit a637e9c

Browse files
feat(HPA): Adds autoscaling config (#4026)
* feat(HPA): Adds autoscaling config OSC-1200 Signed-off-by: Dhruv Shah <dhruv.shah@sumologic.com> * Update tests/integration/internal/stepfuncs/assess_funcs.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update tests/integration/internal/stepfuncs/assess_funcs.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix formatting for autoscaling behavior fields Signed-off-by: Dhruv Shah <dhruv.shah@sumologic.com> --------- Signed-off-by: Dhruv Shah <dhruv.shah@sumologic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 3b5597c commit a637e9c

File tree

14 files changed

+338
-0
lines changed

14 files changed

+338
-0
lines changed

.changelog/4026.added.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
feat(HPA): Adds autoscaling config

deploy/helm/sumologic/README.md

Lines changed: 5 additions & 0 deletions
Large diffs are not rendered by default.

deploy/helm/sumologic/templates/instrumentation/otelcol-instrumentation/hpa.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ spec:
1616
name: {{ template "sumologic.metadata.name.otelcolinstrumentation.statefulset" . }}
1717
minReplicas: {{ $otelcolInstrumentation.autoscaling.minReplicas }}
1818
maxReplicas: {{ $otelcolInstrumentation.autoscaling.maxReplicas }}
19+
{{- if $otelcolInstrumentation.autoscaling.behavior }}
20+
behavior:
21+
{{- toYaml $otelcolInstrumentation.autoscaling.behavior | nindent 4 }}
22+
{{- end }}
1923
metrics:
2024
{{- if $otelcolInstrumentation.autoscaling.targetMemoryUtilizationPercentage }}
2125
- type: Resource

deploy/helm/sumologic/templates/instrumentation/traces-gateway/hpa.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ spec:
1616
name: {{ template "sumologic.metadata.name.tracesgateway.deployment" . }}
1717
minReplicas: {{ $tracesGateway.autoscaling.minReplicas }}
1818
maxReplicas: {{ $tracesGateway.autoscaling.maxReplicas }}
19+
{{- if $tracesGateway.autoscaling.behavior }}
20+
behavior:
21+
{{- toYaml $tracesGateway.autoscaling.behavior | nindent 4 }}
22+
{{- end }}
1923
metrics:
2024
{{- if $tracesGateway.autoscaling.targetMemoryUtilizationPercentage }}
2125
- type: Resource

deploy/helm/sumologic/templates/logs/common/hpa.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ spec:
1414
name: {{ template "sumologic.metadata.name.logs.statefulset" . }}
1515
minReplicas: {{ .Values.metadata.logs.autoscaling.minReplicas }}
1616
maxReplicas: {{ .Values.metadata.logs.autoscaling.maxReplicas }}
17+
{{- if .Values.metadata.logs.autoscaling.behavior }}
18+
behavior:
19+
{{- toYaml .Values.metadata.logs.autoscaling.behavior | nindent 4 }}
20+
{{- end }}
1721
metrics:
1822
{{- if .Values.metadata.logs.autoscaling.targetMemoryUtilizationPercentage }}
1923
- type: Resource

deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ spec:
9595
{{- if .Values.sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage }}
9696
targetMemoryUtilization: {{ .Values.sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage }}
9797
{{- end }}
98+
{{- if .Values.sumologic.metrics.collector.otelcol.autoscaling.behavior }}
99+
behavior:
100+
{{ toYaml .Values.sumologic.metrics.collector.otelcol.autoscaling.behavior | nindent 6 }}
101+
{{- end }}
98102
{{- end }}
99103
env:
100104
- name: METADATA_METRICS_SVC

deploy/helm/sumologic/templates/metrics/common/hpa.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ spec:
1414
name: {{ template "sumologic.metadata.name.metrics.statefulset" . }}
1515
minReplicas: {{ .Values.metadata.metrics.autoscaling.minReplicas }}
1616
maxReplicas: {{ .Values.metadata.metrics.autoscaling.maxReplicas }}
17+
{{- if .Values.metadata.metrics.autoscaling.behavior }}
18+
behavior:
19+
{{- toYaml .Values.metadata.metrics.autoscaling.behavior | nindent 4 }}
20+
{{- end }}
1721
metrics:
1822
{{- if .Values.metadata.metrics.autoscaling.targetMemoryUtilizationPercentage }}
1923
- type: Resource

deploy/helm/sumologic/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ sumologic:
518518
maxReplicas: 10
519519
targetCPUUtilizationPercentage: 70
520520
targetMemoryUtilizationPercentage: 70
521+
behavior: {}
521522

522523
nodeSelector: {}
523524

@@ -1388,6 +1389,7 @@ otelcolInstrumentation:
13881389
maxReplicas: 10
13891390
targetCPUUtilizationPercentage: 100
13901391
# targetMemoryUtilizationPercentage: 50
1392+
behavior: {}
13911393

13921394
statefulset:
13931395
nodeSelector: {}
@@ -1706,6 +1708,7 @@ metadata:
17061708
maxReplicas: 10
17071709
targetCPUUtilizationPercentage: 80
17081710
# targetMemoryUtilizationPercentage: 50
1711+
behavior: {}
17091712

17101713
## Option to specify PodDisrutionBudgets
17111714
## You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget
@@ -1824,6 +1827,7 @@ metadata:
18241827
maxReplicas: 10
18251828
targetCPUUtilizationPercentage: 80
18261829
# targetMemoryUtilizationPercentage: 50
1830+
behavior: {}
18271831

18281832
## Option to specify PodDisrutionBudgets
18291833
## You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget
@@ -1845,6 +1849,7 @@ tracesGateway:
18451849
maxReplicas: 10
18461850
targetCPUUtilizationPercentage: 100
18471851
# targetMemoryUtilizationPercentage: 50
1852+
behavior: {}
18481853

18491854
deployment:
18501855
replicas: 1

tests/helm/testdata/goldenfile/metrics_collector_otc/debug.input.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,24 @@ debug:
33
collector:
44
print: true
55
stopLogsIngestion: true
6+
7+
sumologic:
8+
metrics:
9+
collector:
10+
otelcol:
11+
enabled: true
12+
autoscaling:
13+
enabled: true
14+
behavior:
15+
scaleUp:
16+
stabilizationWindowSeconds: 60
17+
policies:
18+
- type: Percent
19+
value: 100
20+
periodSeconds: 60
21+
scaleDown:
22+
stabilizationWindowSeconds: 60
23+
policies:
24+
- type: Percent
25+
value: 100
26+
periodSeconds: 60

tests/helm/testdata/goldenfile/metrics_collector_otc/debug.output.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ spec:
4242
minReplicas: 1
4343
targetCPUUtilization: 70
4444
targetMemoryUtilization: 70
45+
behavior:
46+
scaleUp:
47+
stabilizationWindowSeconds: 60
48+
policies:
49+
- type: Percent
50+
value: 100
51+
periodSeconds: 60
52+
scaleDown:
53+
stabilizationWindowSeconds: 60
54+
policies:
55+
- type: Percent
56+
value: 100
57+
periodSeconds: 60
58+
4559
env:
4660
- name: METADATA_METRICS_SVC
4761
valueFrom:

0 commit comments

Comments
 (0)