How to Disable the ImageLocality Scheduling Plugin in PMK

Problem

  • How to disable the imageLocality Scheduling plugin in PMK.

Environment

  • Platform9 Managed Kubernetes - All Versions

  • Platform9 Self Managed Cloud Platform - All Versions

  • Component: Kube-Scheduler

Procedure

Warning

The steps below won't persist cluster upgrades. It needs to be reapplied after every cluster upgrade.

Option A: Disable imageLocality plugin for default scheduling behaviour.

  • Update /etc/pf9/kube.d/configs/kube-scheduler.yamlon each master node as below.

apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
clientConnection:
kubeconfig: /srv/kubernetes/kubeconfigs/kube-scheduler.yaml
profiles:
- schedulerName: default-scheduler
plugins:
score:
disabled:
- name: ImageLocality
  • Perform a full-stack restart. (One Master Node at a time)

$ /opt/pf9/nodelet/nodeletd phases restart

Option B: Disable imageLocality plugin using a new Scheduling profile.

  • Update /etc/pf9/kube.d/configs/kube-scheduler.yamlon each master node as below.

apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
clientConnection:
kubeconfig: /srv/kubernetes/kubeconfigs/kube-scheduler.yaml
profiles:
- schedulerName: default-scheduler
- schedulerName: no-imagelocality-scheduler
plugins:
score:
disabled:
- name: ImageLocality
  • Perform a full-stack restart. (One Master Node at a time)

/opt/pf9/nodelet/nodeletd phases restart
  • Now, Pods that want to be scheduled according to a specific profile (in this case no-imagelocality-scheduler ) can include the corresponding scheduler name in their .spec.schedulerName

Additional Information

  • For more information on kube-scheduler configuration, refer this document.