k8s-manifests/jupyter/base/charts/jupyterhub/templates/scheduling/user-scheduler/configmap.yaml

46 lines
1.7 KiB
YAML
Raw Normal View History

{{- if .Values.scheduling.userScheduler.enabled -}}
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ include "jupyterhub.user-scheduler-deploy.fullname" . }}
labels:
{{- include "jupyterhub.labels" . | nindent 4 }}
data:
{{- /*
This is configuration of a k8s official kube-scheduler binary running in the
user-scheduler.
The config version and kube-scheduler binary version has a fallback for k8s
clusters versioned v1.23 or lower because:
- v1 / v1beta3 config requires kube-scheduler binary >=1.25 / >=1.23
- kube-scheduler binary >=1.25 requires storage.k8s.io/v1/CSIStorageCapacity
available first in k8s >=1.24
ref: https://kubernetes.io/docs/reference/scheduling/config/
ref: https://kubernetes.io/docs/reference/config-api/kube-scheduler-config.v1/
ref: https://kubernetes.io/docs/reference/config-api/kube-scheduler-config.v1beta3/
*/}}
config.yaml: |
{{- if semverCompare ">=1.24.0-0" .Capabilities.KubeVersion.Version }}
apiVersion: kubescheduler.config.k8s.io/v1
{{- else }}
apiVersion: kubescheduler.config.k8s.io/v1beta3
{{- end }}
kind: KubeSchedulerConfiguration
leaderElection:
resourceLock: endpointsleases
resourceName: {{ include "jupyterhub.user-scheduler-lock.fullname" . }}
resourceNamespace: "{{ .Release.Namespace }}"
profiles:
- schedulerName: {{ include "jupyterhub.user-scheduler.fullname" . }}
{{- with .Values.scheduling.userScheduler.plugins }}
plugins:
{{- . | toYaml | nindent 10 }}
{{- end }}
{{- with .Values.scheduling.userScheduler.pluginConfig }}
pluginConfig:
{{- . | toYaml | nindent 10 }}
{{- end }}
{{- end }}