Skip to content

Commit 55219b4

Browse files
committed
feat: add pdb support
Signed-off-by: fe80 <steffyfort@gmail.com>
1 parent d405b96 commit 55219b4

File tree

4 files changed

+70
-0
lines changed

4 files changed

+70
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{{- if and .Values.standaloneScheduler .Values.scheduler.pdb.create }}
2+
---
3+
apiVersion: policy/v1
4+
kind: PodDisruptionBudget
5+
metadata:
6+
name: {{ include "mageai.fullname" . }}
7+
labels:
8+
{{- include "mageai.labels" . | nindent 4 }}
9+
spec:
10+
{{- if .Values.scheduler.pdb.minAvailable }}
11+
minAvailable: {{ .Values.scheduler.pdb.minAvailable }}
12+
{{- end }}
13+
{{- if or .Values.scheduler.pdb.maxUnavailable ( not .Values.scheduler.pdb.minAvailable ) }}
14+
maxUnavailable: {{ .Values.scheduler.pdb.maxUnavailable | default 1 }}
15+
{{- end }}
16+
selector:
17+
matchLabels:
18+
{{- include "mageai.schedulerSelectorLabels" . | nindent 6 }}
19+
...
20+
{{- end }}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{{- if and .Values.standaloneScheduler .Values.webServer.pdb.create }}
2+
---
3+
apiVersion: policy/v1
4+
kind: PodDisruptionBudget
5+
metadata:
6+
name: {{ .Values.webServer.name }}
7+
labels:
8+
{{- include "mageai.labels" . | nindent 4 }}
9+
spec:
10+
{{- if .Values.webServer.pdb.minAvailable }}
11+
minAvailable: {{ .Values.webServer.pdb.minAvailable }}
12+
{{- end }}
13+
{{- if or .Values.webServer.pdb.maxUnavailable ( not .Values.webServer.pdb.minAvailable ) }}
14+
maxUnavailable: {{ .Values.webServer.pdb.maxUnavailable | default 1 }}
15+
{{- end }}
16+
selector:
17+
matchLabels:
18+
{{- include "mageai.selectorLabels" . | nindent 6 }}
19+
...
20+
{{- end }}

charts/mageai/templates/pdb.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{{- if and (not .Values.standaloneScheduler) .Values.pdb.create }}
2+
---
3+
apiVersion: policy/v1
4+
kind: PodDisruptionBudget
5+
metadata:
6+
name: {{ include "mageai.fullname" . }}
7+
labels:
8+
{{- include "mageai.labels" . | nindent 4 }}
9+
spec:
10+
{{- if .Values.pdb.minAvailable }}
11+
minAvailable: {{ .Values.pdb.minAvailable }}
12+
{{- end }}
13+
{{- if or .Values.pdb.maxUnavailable ( not .Values.pdb.minAvailable ) }}
14+
maxUnavailable: {{ .Values.pdb.maxUnavailable | default 1 }}
15+
{{- end }}
16+
selector:
17+
matchLabels:
18+
{{- include "mageai.selectorLabels" . | nindent 6 }}
19+
...
20+
{{- end }}

charts/mageai/values.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ scheduler:
2424
# minReplicas: 1
2525
# maxReplicas: 10
2626
# targetCPUUtilizationPercentage: 50
27+
pdb:
28+
create: false
29+
maxUnavailable: "50%"
2730

2831
# Effective if standaloneScheduler is true
2932
webServer:
@@ -44,6 +47,9 @@ webServer:
4447
# minReplicas: 1
4548
# maxReplicas: 10
4649
# targetCPUUtilizationPercentage: 50
50+
pdb:
51+
create: false
52+
maxUnavailable: 50%
4753

4854
# Enable Postgres as the DB
4955
postgresql:
@@ -170,6 +176,10 @@ resources: {}
170176
# cpu: 100m
171177
# memory: 128Mi
172178

179+
pdb:
180+
create: false
181+
maxUnavailable: 50%
182+
173183
nodeSelector: {}
174184

175185
tolerations: []

0 commit comments

Comments
 (0)