Kubernetes - Multiples Scheduler
Alasta 17 Août 2024 kubernetes kubernetes scheduler
Description : Kubernetes, multiples scheduler
Kubernetes - Multiples Scheduler
Le scheduler est chargé de positionné les pods sur les nodes.
Le scheduler recherche le meilleur node selon les étapes suivantes:
1- L’utilisateur démarre un pod
2- Scheduler Queue: le pod est dans la phase QueueSort, le pod est ajouté à la scheduling queue. Basé sur la priorité, le pod démarre pour scheduler le pod PriorityClasses.
3- Filtering: c’est la phase de Filter. Dans cette phase, le schedule de pod filtre les nodes en se basant sur les resource limits, taint & tolerations …
4- Scoring: dans cette phase de Score, le scheduler score les nodes en se basant sur l’espace libre dispo avant/aprés le scheduling et assigne un score. Le node avec le plus haut score est choisi.
5- Binging: Dans cette phase de Bind, le pod est associé au node avec le plus haut score et il est finalement déployé.
Note : Il est possible d’avoir des pré & post actions (PreFilter,PostFilter, PreScore …).
Le scheduler par défaut” est: default-scheduler
Configuration
Le service
Il n’y a qu’un service par scheduler.
kube-scheduler.service
my-scheduler.service
Le scheduler
Le scheduler se déploie comme un pod.
my-custom-scheduler.yaml
La config
my-scheduler-config.yaml
Le pod
pod-definition.yaml