Documentation ¶
Index ¶
- type BindEvent
- type DeleteEvent
- type Event
- type Extender
- type GenericScheduler
- func (sched *GenericScheduler) AddExtender(extender Extender)
- func (sched *GenericScheduler) AddPredicate(name string, predicate predicates.FitPredicate)
- func (sched *GenericScheduler) AddPrioritizer(prioritizer priorities.PriorityConfig)
- func (sched *GenericScheduler) Schedule(clock clock.Clock, pendingPods queue.PodQueue, nodeLister algorithm.NodeLister, ...) ([]Event, error)
- type Scheduler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BindEvent ¶
type BindEvent struct { Pod *v1.Pod ScheduleResult core.ScheduleResult }
BindEvent represents an event of deciding the binding of a pod to a node.
func (*BindEvent) IsSchedulerEvent ¶
type DeleteEvent ¶
DeleteEvent represents an event of the deleting a bound pod on a node.
func (*DeleteEvent) IsSchedulerEvent ¶
func (d *DeleteEvent) IsSchedulerEvent() bool
type Event ¶
type Event interface {
IsSchedulerEvent() bool
}
Event defines the interface of a scheduling event. Submit can returns any type in a list that implements this interface.
type Extender ¶
type Extender struct { // Name identifies this Extender. Name string // Filter filters out the nodes that cannot run the given pod in api.ExtenderArgs. // This function can be nil. Filter func(api.ExtenderArgs) api.ExtenderFilterResult // Prioritize ranks each node that has passes the filtering stage. // The weighted scores are summed up and the total score is used for the node selection. Prioritize func(api.ExtenderArgs) api.HostPriorityList Weight int // NodeCacheCapable specifies that this Extender is capable of caching node information, so the // scheduler should only send minimal information about the eligible nodes assuming that the // extender already cached full details of all nodes in the cluster. // Specifically, ExtenderArgs.NodeNames is populated iff NodeCacheCapable == true, and // ExtenderArgs.Nodes.Items is populated iff NodeCacheCapable == false. NodeCacheCapable bool // Ignorable specifies whether the extender is ignorable (i.e. the scheduler process should not // fail when this extender returns an error). Ignorable bool }
Extender reperesents a scheduler extender.
type GenericScheduler ¶
type GenericScheduler struct {
// contains filtered or unexported fields
}
GenericScheduler makes scheduling decision for each given pod in the one-by-one manner. This type is similar to "k8s.io/pkg/Scheduler/Scheduler/core".genericScheduler, which implements "k8s.io/pkg/Scheduler/Scheduler/core".ScheduleAlgorithm.
func NewGenericScheduler ¶
func NewGenericScheduler(preeptionEnabled bool) GenericScheduler
NewGenericScheduler creates a new GenericScheduler.
func (*GenericScheduler) AddExtender ¶
func (sched *GenericScheduler) AddExtender(extender Extender)
AddExtender adds an extender to this GenericScheduler.
func (*GenericScheduler) AddPredicate ¶
func (sched *GenericScheduler) AddPredicate(name string, predicate predicates.FitPredicate)
AddPredicate adds a predicate plugin to this GenericScheduler.
func (*GenericScheduler) AddPrioritizer ¶
func (sched *GenericScheduler) AddPrioritizer(prioritizer priorities.PriorityConfig)
AddPrioritizer adds a prioritizer plugin to this GenericScheduler.
func (*GenericScheduler) Schedule ¶
func (sched *GenericScheduler) Schedule( clock clock.Clock, pendingPods queue.PodQueue, nodeLister algorithm.NodeLister, nodeInfoMap map[string]*nodeinfo.NodeInfo) ([]Event, error)
Schedule implements Scheduler interface. Schedules pods in one-by-one manner by using registered extenders and plugins.
type Scheduler ¶
type Scheduler interface { // Schedule makes scheduling decisions for (subset of) pending pods and running pods. // The return value is a list of scheduling events. // This method must never block. Schedule( clock clock.Clock, podQueue queue.PodQueue, nodeLister algorithm.NodeLister, nodeInfoMap map[string]*nodeinfo.NodeInfo) ([]Event, error) }
Scheduler defines the lowest-level scheduler interface.