Documentation ¶
Overview ¶
Package podschedulers defines an interface (w/ implementations) for matching pods against offers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllocationStrategy ¶
type AllocationStrategy interface { // FitPredicate returns the selector used to determine pod fitness w/ respect to a given offer FitPredicate() podtask.FitPredicate // Procurement returns a func that obtains resources for a task from resource offer Procurement() podtask.Procurement }
func NewAllocationStrategy ¶
func NewAllocationStrategy(fitPredicate podtask.FitPredicate, procurement podtask.Procurement) AllocationStrategy
type PodScheduler ¶
type PodScheduler interface { AllocationStrategy // SchedulePod implements how to schedule pods among slaves. // We can have different implementation for different scheduling policy. // // The function accepts a set of offers and a single pod, which aligns well // with the k8s scheduling algorithm. It returns an offerId that is acceptable // for the pod, otherwise nil. The caller is responsible for filling in task // state w/ relevant offer details. // // See the FCFSPodScheduler for example. SchedulePod(r offers.Registry, task *podtask.T) (offers.Perishable, error) }
func NewFCFSPodScheduler ¶
func NewFCFSPodScheduler(as AllocationStrategy, lookupNode node.LookupFunc) PodScheduler
Click to show internal directories.
Click to hide internal directories.