File tree Expand file tree Collapse file tree 8 files changed +163
-0
lines changed
helm-charts/k8s-mediaserver Expand file tree Collapse file tree 8 files changed +163
-0
lines changed Original file line number Diff line number Diff line change @@ -115,6 +115,28 @@ spec:
115
115
nodeSelector :
116
116
{{- toYaml . | nindent 8 }}
117
117
{{- end }}
118
+ {{- if eq .Values.general.podDistribution "cluster" }}
119
+ affinity :
120
+ podAffinity :
121
+ preferredDuringSchedulingIgnoredDuringExecution :
122
+ - podAffinityTerm :
123
+ labelSelector :
124
+ matchExpressions :
125
+ - key : app.kubernetes.io/instance
126
+ operator : In
127
+ values :
128
+ - {{ .Release.Name }}
129
+ topologyKey : " kubernetes.io/hostname"
130
+ weight : 100
131
+ {{- else if eq .Values.general.podDistribution "spread" }}
132
+ topologySpreadConstraints :
133
+ - maxSkew : 1
134
+ topologyKey : " kubernetes.io/hostname"
135
+ whenUnsatisfiable : " ScheduleAnyway"
136
+ labelSelector :
137
+ matchLabels :
138
+ app.kubernetes.io/instance : {{ .Release.Name }}
139
+ {{- end }}
118
140
---
119
141
# ## SERVICES
120
142
apiVersion : v1
Original file line number Diff line number Diff line change @@ -18,6 +18,8 @@ metadata:
18
18
labels :
19
19
{{- include "k8s-mediaserver.labels" . | nindent 4 }}
20
20
spec :
21
+ strategy :
22
+ type : Recreate
21
23
replicas : {{ .Values.plex.replicaCount }}
22
24
selector :
23
25
matchLabels :
81
83
nodeSelector :
82
84
{{- toYaml . | nindent 8 }}
83
85
{{- end }}
86
+ {{- if eq .Values.general.podDistribution "cluster" }}
87
+ affinity :
88
+ podAffinity :
89
+ preferredDuringSchedulingIgnoredDuringExecution :
90
+ - podAffinityTerm :
91
+ labelSelector :
92
+ matchExpressions :
93
+ - key : app.kubernetes.io/instance
94
+ operator : In
95
+ values :
96
+ - {{ .Release.Name }}
97
+ topologyKey : " kubernetes.io/hostname"
98
+ weight : 100
99
+ {{- else if eq .Values.general.podDistribution "spread" }}
100
+ topologySpreadConstraints :
101
+ - maxSkew : 1
102
+ topologyKey : " kubernetes.io/hostname"
103
+ whenUnsatisfiable : " ScheduleAnyway"
104
+ labelSelector :
105
+ matchLabels :
106
+ app.kubernetes.io/instance : {{ .Release.Name }}
107
+ {{- end }}
84
108
---
85
109
# ## SERVICE
86
110
apiVersion : v1
Original file line number Diff line number Diff line change @@ -36,6 +36,8 @@ metadata:
36
36
labels :
37
37
{{- include "k8s-mediaserver.labels" . | nindent 4 }}
38
38
spec :
39
+ strategy :
40
+ type : Recreate
39
41
replicas : 1
40
42
selector :
41
43
matchLabels :
@@ -115,6 +117,28 @@ spec:
115
117
nodeSelector :
116
118
{{- toYaml . | nindent 8 }}
117
119
{{- end }}
120
+ {{- if eq .Values.general.podDistribution "cluster" }}
121
+ affinity :
122
+ podAffinity :
123
+ preferredDuringSchedulingIgnoredDuringExecution :
124
+ - podAffinityTerm :
125
+ labelSelector :
126
+ matchExpressions :
127
+ - key : app.kubernetes.io/instance
128
+ operator : In
129
+ values :
130
+ - {{ .Release.Name }}
131
+ topologyKey : " kubernetes.io/hostname"
132
+ weight : 100
133
+ {{- else if eq .Values.general.podDistribution "spread" }}
134
+ topologySpreadConstraints :
135
+ - maxSkew : 1
136
+ topologyKey : " kubernetes.io/hostname"
137
+ whenUnsatisfiable : " ScheduleAnyway"
138
+ labelSelector :
139
+ matchLabels :
140
+ app.kubernetes.io/instance : {{ .Release.Name }}
141
+ {{- end }}
118
142
---
119
143
# ## SERVICES
120
144
apiVersion : v1
Original file line number Diff line number Diff line change @@ -124,6 +124,28 @@ spec:
124
124
nodeSelector :
125
125
{{- toYaml . | nindent 8 }}
126
126
{{- end }}
127
+ {{- if eq .Values.general.podDistribution "cluster" }}
128
+ affinity :
129
+ podAffinity :
130
+ preferredDuringSchedulingIgnoredDuringExecution :
131
+ - podAffinityTerm :
132
+ labelSelector :
133
+ matchExpressions :
134
+ - key : app.kubernetes.io/instance
135
+ operator : In
136
+ values :
137
+ - {{ .Release.Name }}
138
+ topologyKey : " kubernetes.io/hostname"
139
+ weight : 100
140
+ {{- else if eq .Values.general.podDistribution "spread" }}
141
+ topologySpreadConstraints :
142
+ - maxSkew : 1
143
+ topologyKey : " kubernetes.io/hostname"
144
+ whenUnsatisfiable : " ScheduleAnyway"
145
+ labelSelector :
146
+ matchLabels :
147
+ app.kubernetes.io/instance : {{ .Release.Name }}
148
+ {{- end }}
127
149
---
128
150
# ## SERVICES
129
151
apiVersion : v1
Original file line number Diff line number Diff line change @@ -339,6 +339,8 @@ metadata:
339
339
labels :
340
340
{{- include "k8s-mediaserver.labels" . | nindent 4 }}
341
341
spec :
342
+ strategy :
343
+ type : Recreate
342
344
replicas : 1
343
345
selector :
344
346
matchLabels :
@@ -424,6 +426,28 @@ spec:
424
426
nodeSelector :
425
427
{{- toYaml . | nindent 8 }}
426
428
{{- end }}
429
+ {{- if eq .Values.general.podDistribution "cluster" }}
430
+ affinity :
431
+ podAffinity :
432
+ preferredDuringSchedulingIgnoredDuringExecution :
433
+ - podAffinityTerm :
434
+ labelSelector :
435
+ matchExpressions :
436
+ - key : app.kubernetes.io/instance
437
+ operator : In
438
+ values :
439
+ - {{ .Release.Name }}
440
+ topologyKey : " kubernetes.io/hostname"
441
+ weight : 100
442
+ {{- else if eq .Values.general.podDistribution "spread" }}
443
+ topologySpreadConstraints :
444
+ - maxSkew : 1
445
+ topologyKey : " kubernetes.io/hostname"
446
+ whenUnsatisfiable : " ScheduleAnyway"
447
+ labelSelector :
448
+ matchLabels :
449
+ app.kubernetes.io/instance : {{ .Release.Name }}
450
+ {{- end }}
427
451
---
428
452
# ## SERVICES
429
453
apiVersion : v1
Original file line number Diff line number Diff line change @@ -123,6 +123,28 @@ spec:
123
123
nodeSelector :
124
124
{{- toYaml . | nindent 8 }}
125
125
{{- end }}
126
+ {{- if eq .Values.general.podDistribution "cluster" }}
127
+ affinity :
128
+ podAffinity :
129
+ preferredDuringSchedulingIgnoredDuringExecution :
130
+ - podAffinityTerm :
131
+ labelSelector :
132
+ matchExpressions :
133
+ - key : app.kubernetes.io/instance
134
+ operator : In
135
+ values :
136
+ - {{ .Release.Name }}
137
+ topologyKey : " kubernetes.io/hostname"
138
+ weight : 100
139
+ {{- else if eq .Values.general.podDistribution "spread" }}
140
+ topologySpreadConstraints :
141
+ - maxSkew : 1
142
+ topologyKey : " kubernetes.io/hostname"
143
+ whenUnsatisfiable : " ScheduleAnyway"
144
+ labelSelector :
145
+ matchLabels :
146
+ app.kubernetes.io/instance : {{ .Release.Name }}
147
+ {{- end }}
126
148
---
127
149
# ## SERVICES
128
150
apiVersion : v1
Original file line number Diff line number Diff line change @@ -103,6 +103,8 @@ metadata:
103
103
labels :
104
104
{{- include "k8s-mediaserver.labels" . | nindent 4 }}
105
105
spec :
106
+ strategy :
107
+ type : Recreate
106
108
replicas : 1
107
109
selector :
108
110
matchLabels :
@@ -191,6 +193,28 @@ spec:
191
193
nodeSelector :
192
194
{{- toYaml . | nindent 8 }}
193
195
{{- end }}
196
+ {{- if eq .Values.general.podDistribution "cluster" }}
197
+ affinity :
198
+ podAffinity :
199
+ preferredDuringSchedulingIgnoredDuringExecution :
200
+ - podAffinityTerm :
201
+ labelSelector :
202
+ matchExpressions :
203
+ - key : app.kubernetes.io/instance
204
+ operator : In
205
+ values :
206
+ - {{ .Release.Name }}
207
+ topologyKey : " kubernetes.io/hostname"
208
+ weight : 100
209
+ {{- else if eq .Values.general.podDistribution "spread" }}
210
+ topologySpreadConstraints :
211
+ - maxSkew : 1
212
+ topologyKey : " kubernetes.io/hostname"
213
+ whenUnsatisfiable : " ScheduleAnyway"
214
+ labelSelector :
215
+ matchLabels :
216
+ app.kubernetes.io/instance : {{ .Release.Name }}
217
+ {{- end }}
194
218
---
195
219
# ## SERVICES
196
220
apiVersion : v1
Original file line number Diff line number Diff line change 6
6
ingress_host : k8s-mediaserver.k8s.test
7
7
plex_ingress_host : k8s-plex.k8s.test
8
8
image_tag : latest
9
+ podDistribution : cluster # can be "spread" or "cluster"
9
10
# UID to run the process with
10
11
puid : 1000
11
12
# GID to run the process with
You can’t perform that action at this time.
0 commit comments