Sched.net: A Network-Aware Kubernetes Scheduler [I]
Different workloads have different optimal scheduling requirements. For instance, a video streaming microservice would need higher network bandwidth than a microservice running the codec. Kubernetes e …
Talk Title | Sched.net: A Network-Aware Kubernetes Scheduler [I] |
Speakers | Akash Gangil (Software Engineer, Uhana), Salvatore Orlando (Staff Engineer, VMware) |
Conference | CloudNativeCon + KubeCon Europe |
Conf Tag | |
Location | Berlin Congress Center |
Date | Mar 28-30, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Different workloads have different optimal scheduling requirements. For instance, a video streaming microservice would need higher network bandwidth than a microservice running the codec. Kubernetes exposes an interface to build a custom scheduler. In this talk, we will show how better scheduling decisions can be made with information about the network topology. The scheduler would make pod scheduling decisions as a function of network health, in addition to other resources like cpu and memory predicates used by the default scheduler. The talk would highlight: * How kubernetes empowers the users to build their own custom scheduler and challenges that come along with it. * Why we needed sched.net over the current default scheduler? * Demonstrate how better scheduling decisions can be made, if the scheduler is also aware of the current network state with a simple demo described below. Demo setup would consist of kubernetes with OVN as a networking backend using the ovn-kubernetes plugin. It provides a well defined translation between Kubernetes and OVN logical network abstractions. Ex: namespace → logical switch, pod → logical switch port. Sched.net would be implemented by adding a predicate function which would determine “network health” from information gathered from OVN controller.