Added PDB, topologySpreadConstraints and deployment strategy

This commit is contained in:
Killmeplz 2024-09-12 00:24:50 +02:00
parent 7532609c35
commit b65b9185ac
7 changed files with 117 additions and 0 deletions

View File

@ -11,6 +11,8 @@ metadata:
{{- end }}
spec:
replicas: {{ .Values.apiserver.replicaCount }}
strategy:
type: {{ .Values.apiserver.strategy.type }}
selector:
matchLabels:
{{- include "apiserver.selectorLabels" . | nindent 6 }}
@ -201,4 +203,8 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.apiserver.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,14 @@
{{- if and .Values.apiserver.enabled .Values.apiserver.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "apiserver.referenceName" . }}-pdb
labels:
{{- include "clearml.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "apiserver.selectorLabels" . | nindent 6 }}
maxUnavailable: {{ .Values.apiserver.pdb.maxUnavailable }}
minAvailable: {{ .Values.apiserver.pdb.minAvailable }}
{{- end }}

View File

@ -11,6 +11,8 @@ metadata:
{{- end }}
spec:
replicas: {{ .Values.fileserver.replicaCount }}
strategy:
type: {{ .Values.fileserver.strategy.type }}
selector:
matchLabels:
{{- include "fileserver.selectorLabels" . | nindent 6 }}
@ -136,4 +138,8 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.fileserver.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,14 @@
{{- if and .Values.fileserver.enabled .Values.fileserver.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "fileserver.referenceName" . }}-pdb
labels:
{{- include "clearml.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "fileserver.selectorLabels" . | nindent 6 }}
maxUnavailable: {{ .Values.fileserver.pdb.maxUnavailable }}
minAvailable: {{ .Values.fileserver.pdb.minAvailable }}
{{- end }}

View File

@ -11,6 +11,8 @@ metadata:
{{- end }}
spec:
replicas: {{ .Values.webserver.replicaCount }}
strategy:
type: {{ .Values.webserver.strategy.type }}
selector:
matchLabels:
{{- include "webserver.selectorLabels" . | nindent 6 }}
@ -113,4 +115,8 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.webserver.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,14 @@
{{- if and .Values.webserver.enabled .Values.webserver.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "webserver.referenceName" . }}-pdb
labels:
{{- include "clearml.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "webserver.selectorLabels" . | nindent 6 }}
maxUnavailable: {{ .Values.webserver.pdb.maxUnavailable }}
minAvailable: {{ .Values.webserver.pdb.minAvailable }}
{{- end }}

View File

@ -79,6 +79,9 @@ apiserver:
nodePort: 30008
# -- Api Server number of pods
replicaCount: 1
# -- Api Server deployment strategy
strategy:
type: RollingUpdate
# -- Api Server resources per initContainers pod
initContainers:
resources:
@ -181,6 +184,22 @@ apiserver:
additionalVolumeMounts: {}
# - mountPath: /dev/shm
# name: ramdisk
# -- Specifies PodDisruptionBudget settings
pdb:
# -- If set to false no PDB is created
enabled: false
# -- Specifies maxUnavailable for PDB.
maxUnavailable: 1
# -- Specifies minAvailable for PDB.
minAvailable: 1
# -- Specifies topologySpreadConstraints settings
topologySpreadConstraints: []
# - maxSkew: 1
# topologyKey: "topology.kubernetes.io/zone"
# whenUnsatisfiable: DoNotSchedule
# labelSelector:
# matchLabels:
# app.kubernetes.io/instance=clearml-apiserver
# -- File Server configurations
fileserver:
@ -207,6 +226,9 @@ fileserver:
nodePort: 30081
# -- File Server number of pods
replicaCount: 1
# -- File Server deployment strategy
strategy:
type: RollingUpdate
# -- File Server resources per initContainers pod
initContainers:
resources:
@ -277,6 +299,22 @@ fileserver:
additionalVolumeMounts: {}
# - mountPath: /dev/shm
# name: ramdisk
# -- Specifies PodDisruptionBudget settings
pdb:
# -- If set to false no PDB is created
enabled: false
# -- Specifies maxUnavailable for PDB.
maxUnavailable: 1
# -- Specifies minAvailable for PDB.
minAvailable: 1
# -- Specifies topologySpreadConstraints settings
topologySpreadConstraints: []
# - maxSkew: 1
# topologyKey: "topology.kubernetes.io/zone"
# whenUnsatisfiable: DoNotSchedule
# labelSelector:
# matchLabels:
# app.kubernetes.io/instance=clearml-fileserver
# -- Web Server configurations
webserver:
@ -303,6 +341,9 @@ webserver:
nodePort: 30080
# -- Web Server number of pods
replicaCount: 1
# -- Web Server deployment strategy
strategy:
type: RollingUpdate
# -- Web Server resources per initContainers pod
initContainers:
resources:
@ -363,6 +404,22 @@ webserver:
additionalVolumeMounts: {}
# - mountPath: /dev/shm
# name: ramdisk
# -- Specifies PodDisruptionBudget settings
pdb:
# -- If set to false no PDB is created
enabled: false
# -- Specifies maxUnavailable for PDB.
maxUnavailable: 1
# -- Specifies minAvailable for PDB.
minAvailable: 1
# -- Specifies topologySpreadConstraints settings
topologySpreadConstraints: []
# - maxSkew: 1
# topologyKey: "topology.kubernetes.io/zone"
# whenUnsatisfiable: DoNotSchedule
# labelSelector:
# matchLabels:
# app.kubernetes.io/instance=clearml-webserver
# -- Definition of external services to use if not enabled as dependency charts here
externalServices: