MotivationKubernetes(k8s) currently schedules pods based on cpu, memory resources. k8s uses flat networking, the pod pecification doesn’t carry any networking requirements. Hence networking is not a scheduling constraint. Similarly, storage is network attached and hence not a scheduling constraint. To help enrterprise applications achieve consistent performance, I/O (storage & network) and QoS are also important considerations for the scheduler. This started us down the path of exploring extensibility options for the k8s scheduler.
We had come up with the following requirements for the Scheduler Extender: