Skip to content

Commit 649b789

Browse files
committed
synapse limits and requests for workers
1 parent 3fd654e commit 649b789

File tree

9 files changed

+99
-47
lines changed

9 files changed

+99
-47
lines changed

charts/synapse/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
22
name: synapse
3-
version: 0.1.5
3+
version: 0.2.0

charts/synapse/templates/_helpers.tpl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,7 @@ containers:
5656
- name: synapse
5757
image: {{ .image.repository }}:{{ .image.tag }}
5858
imagePullPolicy: {{ .image.pullPolicy }}
59-
resources:
60-
requests:
61-
memory: 2Gi
62-
cpu: 1
59+
resources: {{ .options.resources | default .resourcesDefaults | toYaml | nindent 4 }}
6360
{{- if has .worker (list "event_persister" "federation_sender" "client_reader" "event_creator" "account_data" "presence" "receipts" "keys" "typing" "background_worker" "pusher" "to_device") }}
6461
env:
6562
- name: "SYNAPSE_WORKER"

charts/synapse/templates/synapse-configmap.yaml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
{{- $autoscalingWorkers := .Values.synapse.autoscalingWorkers | default (dict "federation_sender" 1 "client_reader" 1 "event_creator" 1 "media_repository" 1 ) -}}
2-
{{- $deployScalingWorkers := merge (deepCopy $autoscalingWorkers) ( .Values.synapse.deployScalingWorkers | default (dict "event_persister" 1 "pusher" 1 )) -}}
3-
{{- $nonscaling_workers := dict "master" 1 "account_data" 1 "presence" 1 "typing" 1 "background_worker" 1 "receipts" 1 "keys" 1 "to_device" 1 "media_repository_background_jobs" 1 -}}
4-
{{- $workers := merge (deepCopy $deployScalingWorkers) (deepCopy $nonscaling_workers) -}}
1+
{{- $workers := merge (deepCopy .Values.synapse.autoscalingWorkers) (deepCopy .Values.synapse.deployScalingWorkers) (deepCopy .Values.synapse.singletonWorkers) -}}
52

63
{{- $registration_shared_secret := .Values.registration_shared_secret -}}
74
{{- $form_secret := .Values.form_secret -}}
@@ -19,7 +16,7 @@
1916
{{- $password_enabled := .Values.password_enabled }}
2017
{{- $rc_message := .Values.rc_message -}}
2118

22-
{{- range $worker, $count := $workers }}
19+
{{- range $worker, $options := $workers }}
2320
{{ $name := $worker | replace "_" "-"}}
2421
---
2522
apiVersion: v1
@@ -150,7 +147,7 @@ data:
150147
host: synapse-master-0.synapse-master
151148
port: 9093
152149
153-
{{- range until ( $workers.event_persister | int) }}
150+
{{- range until ( $workers.event_persister.replicas | int) }}
154151
synapse-event-persister-{{ . }}:
155152
host: synapse-event-persister-{{ . }}.synapse-event-persister
156153
port: 9093
@@ -188,12 +185,12 @@ data:
188185
receipts:
189186
- synapse-receipts-0
190187
events:
191-
{{- range until ( $workers.event_persister | int) }}
188+
{{- range until ( $workers.event_persister.replicas | int) }}
192189
- synapse-event-persister-{{ . }}
193190
{{- end }}
194191
195192
pusher_instances:
196-
{{- range until ( $workers.pusher | int) }}
193+
{{- range until ( $workers.pusher.replicas | int) }}
197194
- synapse-pusher-{{ . }}
198195
{{- end }}
199196

charts/synapse/templates/synapse-hpa.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
{{- if .Values.synapse.autoscaling.enabled }}
2-
{{- range $worker, $count := .Values.synapse.autoscalingWorkers }}
1+
{{- range $worker, $options := .Values.synapse.autoscalingWorkers }}
2+
{{- if $options.autoscaling.enabled }}
33
{{- $name := $worker | replace "_" "-"}}
44
---
55
apiVersion: autoscaling/v2
@@ -11,8 +11,8 @@ spec:
1111
apiVersion: apps/v1
1212
kind: Deployment
1313
name: synapse-{{ $name }}
14-
minReplicas: {{ $count }}
15-
maxReplicas: 100
14+
minReplicas: {{ $options.autoscaling.minReplicas }}
15+
maxReplicas: {{ $options.autoscaling.maxReplicas }}
1616
metrics:
1717
- type: Resource
1818
resource:

charts/synapse/templates/synapse-service.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
{{- $autoscalingWorkers := .Values.synapse.autoscalingWorkers | default (dict "federation_sender" 1 "client_reader" 1 "event_creator" 1 "media_repository" 1 ) -}}
2-
{{- $deployScalingWorkers := merge (deepCopy $autoscalingWorkers) ( .Values.synapse.deployScalingWorkers | default (dict "event_persister" 1 "pusher" 1 )) -}}
3-
{{- $nonscaling_workers := dict "master" 1 "account_data" 1 "presence" 1 "typing" 1 "background_worker" 1 "receipts" 1 "keys" 1 "to_device" 1 "media_repository_background_jobs" 1 -}}
4-
{{- $workers := merge (deepCopy $deployScalingWorkers) (deepCopy $nonscaling_workers) -}}
5-
6-
1+
{{- $workers := merge (deepCopy .Values.synapse.autoscalingWorkers) (deepCopy .Values.synapse.deployScalingWorkers) (deepCopy .Values.synapse.singletonWorkers) -}}
72
{{- range $worker, $count := $workers }}
83
{{ $name := $worker | replace "_" "-" }}
94
---

charts/synapse/templates/synapse-workers-deployment.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
{{- $workers := .Values.synapse.autoscalingWorkers | default (dict "federation_sender" 1 "client_reader" 1 "event_creator" 1 "media_repository" 1 ) -}}
2-
3-
{{ $image := .Values.synapse.image }}
4-
5-
{{- range $worker, $count := $workers }}
6-
{{ $name := $worker | replace "_" "-"}}
1+
{{- range $worker, $options := .Values.synapse.autoscalingWorkers }}
2+
{{- $name := $worker | replace "_" "-"}}
73
---
84
apiVersion: apps/v1
95
kind: Deployment
@@ -12,8 +8,8 @@ metadata:
128
labels:
139
{{- include "synapse-workers.selectorLabels" $name | nindent 4 }}
1410
spec:
15-
{{- if not $.Values.synapse.autoscaling.enabled }}
16-
replicas: {{ $count }}
11+
{{- if not $options.autoscaling.enabled }}
12+
replicas: {{ $options.replicas }}
1713
{{- end }}
1814
selector:
1915
matchLabels:
@@ -30,5 +26,5 @@ spec:
3026
labels:
3127
{{- include "synapse-workers.selectorLabels" $name | nindent 8 }}
3228
spec:
33-
{{ include "synapse-workers.containers" (dict "name" $name "image" $image "worker" $worker) | nindent 6 }}
29+
{{ include "synapse-workers.containers" (dict "name" $name "image" $.Values.synapse.image "worker" $worker "options" $options "resourcesDefaults" $.Values.synapse.resourcesDefaults) | nindent 6 }}
3430
{{ end }}
Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
{{- $deployScalingWorkers := .Values.synapse.deployScalingWorkers | default (dict "event_persister" 1 "pusher" 1 ) -}}
2-
{{- $nonscaling_workers := dict "master" 1 "account_data" 1 "presence" 1 "typing" 1 "background_worker" 1 "receipts" 1 "keys" 1 "to_device" 1 "media_repository_background_jobs" 1 -}}
3-
{{- $workers := merge (deepCopy $deployScalingWorkers) (deepCopy $nonscaling_workers) -}}
4-
5-
{{ $image := .Values.synapse.image }}
6-
7-
{{- range $worker, $count := $workers }}
1+
{{- $workers := merge (deepCopy .Values.synapse.deployScalingWorkers) (deepCopy .Values.synapse.singletonWorkers) -}}
2+
{{- range $worker, $options := $workers }}
83
{{ $name := $worker | replace "_" "-"}}
94
---
105
apiVersion: apps/v1
@@ -14,7 +9,7 @@ metadata:
149
labels:
1510
{{- include "synapse-workers.selectorLabels" $name | nindent 4 }}
1611
spec:
17-
replicas: {{ $count }}
12+
replicas: {{ $options.replicas }}
1813
selector:
1914
matchLabels:
2015
{{- include "synapse-workers.selectorLabels" $name | nindent 6 }}
@@ -26,5 +21,5 @@ spec:
2621
labels:
2722
{{- include "synapse-workers.selectorLabels" $name | nindent 8 }}
2823
spec:
29-
{{ include "synapse-workers.containers" (dict "name" $name "image" $image "worker" $worker) | nindent 6 }}
24+
{{ include "synapse-workers.containers" (dict "name" $name "image" $.Values.synapse.image "worker" $worker "options" $options "resourcesDefaults" $.Values.synapse.resourcesDefaults) | nindent 6 }}
3025
{{ end }}

charts/synapse/templates/well-known-deployment.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ spec:
2525
- containerPort: 80
2626
name: http
2727
protocol: TCP
28+
resources:
29+
{{- toYaml .Values.wellKnown.resources | nindent 10 }}
2830
volumeMounts:
2931
- name: well-known-config
3032
subPath: default.conf

charts/synapse/values.yaml

Lines changed: 76 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,79 @@ synapse:
1414
autoscaling:
1515
enabled: true
1616
# this workers can scale in runtime
17+
resourcesDefaults:
18+
requests:
19+
cpu: 50m
20+
memory: 128Mi
21+
limits:
22+
cpu: 1000m
23+
memory: 2Gi
1724
autoscalingWorkers:
18-
federation_sender: 1
19-
client_reader: 2
20-
event_creator: 2
21-
media_repository: 2
25+
federation_sender:
26+
replicas: 1
27+
resources: {}
28+
autoscaling:
29+
enabled: true
30+
minReplicas: 1
31+
maxReplicas: 10
32+
client_reader:
33+
replicas: 2
34+
resources: {}
35+
autoscaling:
36+
enabled: true
37+
minReplicas: 1
38+
maxReplicas: 10
39+
event_creator:
40+
replicas: 2
41+
resources: {}
42+
autoscaling:
43+
enabled: true
44+
minReplicas: 1
45+
maxReplicas: 10
46+
media_repository:
47+
replicas: 2
48+
resources: {}
49+
autoscaling:
50+
enabled: true
51+
minReplicas: 1
52+
maxReplicas: 10
2253
# this workers will scale after deploy
2354
deployScalingWorkers:
24-
event_persister: 2
25-
pusher: 1
55+
event_persister:
56+
replicas: 2
57+
resources: {}
58+
pusher:
59+
replicas: 1
60+
resources: {}
61+
# this workers will neewr scale, only vertical scaling is possible
62+
singletonWorkers:
63+
master:
64+
replicas: 1
65+
resources: {}
66+
account_data:
67+
replicas: 1
68+
resources: {}
69+
presence:
70+
replicas: 1
71+
resources: {}
72+
typing:
73+
replicas: 1
74+
resources: {}
75+
background_worker:
76+
replicas: 1
77+
resources: {}
78+
receipts:
79+
replicas: 1
80+
resources: {}
81+
keys:
82+
replicas: 1
83+
resources: {}
84+
to_device:
85+
replicas: 1
86+
resources: {}
87+
media_repository_background_jobs:
88+
replicas: 1
89+
resources: {}
2690
presence: true
2791
postgres:
2892
cp_max: 10
@@ -389,3 +453,9 @@ root_redirect_url: ''
389453

390454
coturn:
391455
sharedSecret: ''
456+
457+
wellKnown:
458+
resources:
459+
requests:
460+
cpu: 20m
461+
memory: 64Mi

0 commit comments

Comments
 (0)