Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions charts/hami/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ This document provides detailed descriptions of all configurable values paramete
| `scheduler.livenessProbe` | Whether to enable liveness probe | `false` |
| `scheduler.leaderElect` | Whether to enable leader election | `true` |
| `scheduler.replicas` | Number of replicas | `1` |
| `scheduler.podDisruptionBudget.minAvailable` | Minimum number of available scheduler pods during voluntary disruptions (only rendered when `scheduler.leaderElect` is `true` and `scheduler.replicas` is greater than `1`) | `1` |
| `scheduler.podDisruptionBudget.maxUnavailable` | Maximum number of unavailable scheduler pods during voluntary disruptions; takes precedence over `minAvailable` when set | unset |

### Kube Scheduler Configuration

Expand Down
26 changes: 26 additions & 0 deletions charts/hami/templates/scheduler/pdb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{{- if and .Values.scheduler.leaderElect (gt (int .Values.scheduler.replicas) 1) }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "hami-vgpu.scheduler" . }}
namespace: {{ include "hami-vgpu.namespace" . }}
labels:
app.kubernetes.io/component: hami-scheduler
{{- include "hami-vgpu.labels" . | nindent 4 }}
{{- with .Values.global.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.global.annotations }}
annotations: {{ toYaml .Values.global.annotations | nindent 4}}
{{- end }}
spec:
{{- if hasKey .Values.scheduler.podDisruptionBudget "maxUnavailable" }}
maxUnavailable: {{ .Values.scheduler.podDisruptionBudget.maxUnavailable }}
{{- else }}
minAvailable: {{ .Values.scheduler.podDisruptionBudget.minAvailable }}
Comment thread
mesutoezdil marked this conversation as resolved.
{{- end }}
selector:
matchLabels:
app.kubernetes.io/component: hami-scheduler
{{- include "hami-vgpu.selectorLabels" . | nindent 6 }}
{{- end }}
5 changes: 5 additions & 0 deletions charts/hami/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@ scheduler:
leaderElect: true
# when leaderElect is true, replicas is available, otherwise replicas is 1.
replicas: 1
# podDisruptionBudget only renders when leaderElect is true and replicas > 1;
# with a single replica it would block all voluntary node drains.
podDisruptionBudget:
minAvailable: 1
# maxUnavailable: 1
Comment thread
mesutoezdil marked this conversation as resolved.
kubeScheduler:
# @param enabled indicate whether to run kube-scheduler container in the scheduler pod, it's true by default.
enabled: true
Expand Down
Loading