Skip to content

Commit 14cc33f

Browse files
fix
Signed-off-by: Yaroslav Borbat <yaroslav.borbat@flant.com>
1 parent 7d5ecb7 commit 14cc33f

2 files changed

Lines changed: 93 additions & 3 deletions

File tree

openapi/config-values.yaml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,3 +268,78 @@ properties:
268268
description: |
269269
Enable or disable the descheduler. Set to true to activate VM eviction.
270270
x-examples: [true, false]
271+
lowNodeUtilization:
272+
type: object
273+
default: {}
274+
properties:
275+
enabled:
276+
type: boolean
277+
thresholds:
278+
type: object
279+
default: {}
280+
properties:
281+
cpu:
282+
type: integer
283+
minimal: 0
284+
maximal: 100
285+
description: CPU fraction in percents
286+
memory:
287+
type: integer
288+
minimal: 0
289+
maximal: 100
290+
description: Memory fraction in percents
291+
pods:
292+
type: integer
293+
minimal: 0
294+
maximal: 100
295+
description: Pods count in percents
296+
additionalProperties: true
297+
targetThresholds:
298+
type: object
299+
default: {}
300+
properties:
301+
cpu:
302+
type: integer
303+
minimal: 0
304+
maximal: 100
305+
description: CPU fraction in percents
306+
memory:
307+
type: integer
308+
minimal: 0
309+
maximal: 100
310+
description: Memory fraction in percents
311+
pods:
312+
type: integer
313+
minimal: 0
314+
maximal: 100
315+
description: Pods count in percents
316+
additionalProperties: true
317+
highNodeUtilization:
318+
type: object
319+
default: {}
320+
properties:
321+
enabled:
322+
type: boolean
323+
thresholds:
324+
type: object
325+
default: {}
326+
properties:
327+
cpu:
328+
type: integer
329+
minimal: 0
330+
maximal: 100
331+
description: CPU fraction in percents
332+
memory:
333+
type: integer
334+
minimal: 0
335+
maximal: 100
336+
description: Memory fraction in percents
337+
pods:
338+
type: integer
339+
minimal: 0
340+
maximal: 100
341+
description: Pods count in percents
342+
additionalProperties: true
343+
anyOf:
344+
- required: ["lowNodeUtilization"]
345+
- required: ["highNodeUtilization"]

templates/descheduler/descheduler.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.virtualization.descheduler.enabled }}
12
apiVersion: deckhouse.io/v1alpha2
23
kind: Descheduler
34
metadata:
@@ -9,15 +10,29 @@ spec:
910
- key: vm.kubevirt.internal.virtualization.deckhouse.io/name
1011
operator: Exists
1112
strategies:
13+
{{- if .Values.virtualization.descheduler.highNodeUtilization.enabled }}
1214
highNodeUtilization:
1315
enabled: true
1416
thresholds:
15-
cpu: 20
16-
memory: 80
17-
pods: 20
17+
cpu: {{ .Values.virtualization.descheduler.highNodeUtilization.thresholds.cpu | default 20 }}
18+
memory: {{ .Values.virtualization.descheduler.highNodeUtilization.thresholds.memory | default 80 }}
19+
pods: {{ .Values.virtualization.descheduler.highNodeUtilization.thresholds.pods | default 20 }}
20+
{{- else if .Values.virtualization.descheduler.lowNodeUtilization.enabled }}
21+
lowNodeUtilization:
22+
enabled: true
23+
thresholds:
24+
cpu: {{ .Values.virtualization.descheduler.lowNodeUtilization.thresholds.cpu | default 20 }}
25+
memory: {{ .Values.virtualization.descheduler.lowNodeUtilization.thresholds.memory | default 80 }}
26+
pods: {{ .Values.virtualization.descheduler.lowNodeUtilization.thresholds.pods | default 20 }}
27+
targetThresholds:
28+
cpu: {{ .Values.virtualization.descheduler.lowNodeUtilization.targetThresholds.cpu | default 50 }}
29+
memory: {{ .Values.virtualization.descheduler.lowNodeUtilization.targetThresholds.memory | default 50 }}
30+
pods: {{ .Values.virtualization.descheduler.lowNodeUtilization.targetThresholds.pods | default 50 }}
31+
{{- end }}
1832
removePodsViolatingInterPodAntiAffinity:
1933
enabled: true
2034
removePodsViolatingNodeAffinity:
2135
enabled: true
2236
nodeAffinityType:
2337
- requiredDuringSchedulingIgnoredDuringExecution
38+
{{- end }}

0 commit comments

Comments
 (0)