Scheduling Framework — extend Kubernetes scheduler.
1# Scheduler configuration2apiVersion: kubescheduler.config.k8s.io/v13kind: KubeSchedulerConfiguration4profiles:5- schedulerName: custom-scheduler6 plugins:7 preFilter:8 enabled:9 - name: NodeResourcesFit10 filter:11 enabled:12 - name: NodeResourcesFit13 - name: NodeAffinity14 - name: NodeUnschedulable15 postFilter:16 enabled:17 - name: NodeResourcesFit18 preScore:19 enabled:20 - name: NodeResourcesFit21 score:22 enabled:23 - name: NodeResourcesFit24 weight: 125 - name: NodeAffinity26 weight: 227 reserve:28 enabled:29 - name: NodeResourcesFit30 permit:31 enabled:32 - name: PriorityClass33 preBind:34 enabled:35 - name: NodeResourcesFit36 bind:37 enabled:38 - name: DefaultBinder39 postBind:40 enabled:41 - name: DefaultBinder42 pluginConfig:43 - name: NodeResourcesFit44 args:45 scoringStrategy:46 type: MostAllocated47 resources:48 - name: cpu49 weight: 150 - name: memory51 weight: 1
1# Check scheduler configuration2kubectl get configmap kube-scheduler -n kube-system -o yaml34# Check scheduler logs5kubectl logs -n kube-system -l component=kube-scheduler67# Check scheduling decisions8kubectl get events --field-selector reason=Scheduled910# Check failed scheduling11kubectl get events --field-selector reason=FailedScheduling1213# Verify scheduler pods14kubectl get pods -n kube-system -l component=kube-scheduler
Extension Points: