- Create a file called kube-scheduler-configuration.yml
---
apiVersion: kubescheduler.config.k8s.io/v1beta2
kind: KubeSchedulerConfiguration
clientConnection:
kubeconfig: "/etc/kubernetes/scheduler.conf"
profiles:
- plugins:
filter:
enabled:
- name: "NodePorts"
- name: "NodeResourcesFit"
- name: "VolumeBinding"
- name: "NodeAffinity"
- name: "NodeName"
score:
enabled:
- name: "NodeResourcesBalancedAllocation"
weight: 1
extenders:
- urlPrefix: "https://127.0.0.1:30888/"
filterVerb: "filter"
weight: 5
enableHTTPS: true-
Make directory /opt/isecl-k8s-extensions and copy kube-scheduler-configuration.yaml file into this newly created directory
-
Add kube-scheduler-configuration.yml under kube-scheduler section /etc/kubernetes/manifests/kube-scheduler.yaml as mentioned below
spec:
containers:
- command:
- kube-scheduler
- --config=/opt/isecl-k8s-extensions/kube-scheduler-configuration.yml- Add mount path for isecl extended scheduler under container section /etc/kubernetes/manifests/kube-scheduler.yaml as mentioned below
containers:
- mountPath: /opt/isecl-k8s-extensions
name: extendedsched
readOnly: true- Add volume path for isecl extended scheduler under volumes section /etc/kubernetes/manifests/kube-scheduler.yaml as mentioned below
spec:
volumes:
- hostPath:
path: /opt/isecl-k8s-extensions
type: ""
name: extendedsched- Restart Kubelet which restart all the k8s services including kube base scheduler
systemctl restart kubelet