Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - func MakeDefaultErrorFunc(client clientset.Interface, podLister corelisters.PodLister, ...) func(*framework.QueuedPodInfo, error)
 - func NewInformerFactory(cs clientset.Interface, resyncPeriod time.Duration) informers.SharedInformerFactory
 - type Binder
 - type Configurator
 - type FrameworkCapturer
 - type Option
 - func WithAlgorithmSource(source schedulerapi.SchedulerAlgorithmSource) Option
 - func WithBuildFrameworkCapturer(fc FrameworkCapturer) Option
 - func WithExtenders(e ...schedulerapi.Extender) Option
 - func WithFrameworkOutOfTreeRegistry(registry frameworkruntime.Registry) Option
 - func WithParallelism(threads int32) Option
 - func WithPercentageOfNodesToScore(percentageOfNodesToScore int32) Option
 - func WithPodInitialBackoffSeconds(podInitialBackoffSeconds int64) Option
 - func WithPodMaxBackoffSeconds(podMaxBackoffSeconds int64) Option
 - func WithProfiles(p ...schedulerapi.KubeSchedulerProfile) Option
 
- type Scheduler
 
Constants ¶
const (
	// SchedulerError is the reason recorded for events when an error occurs during scheduling a pod.
	SchedulerError = "SchedulerError"
)
    Variables ¶
This section is empty.
Functions ¶
func MakeDefaultErrorFunc ¶ added in v1.17.0
func MakeDefaultErrorFunc(client clientset.Interface, podLister corelisters.PodLister, podQueue internalqueue.SchedulingQueue, schedulerCache internalcache.Cache) func(*framework.QueuedPodInfo, error)
MakeDefaultErrorFunc construct a function to handle pod scheduler error
func NewInformerFactory ¶ added in v1.19.15
func NewInformerFactory(cs clientset.Interface, resyncPeriod time.Duration) informers.SharedInformerFactory
NewInformerFactory creates a SharedInformerFactory and initializes a scheduler specific in-place podInformer.
Types ¶
type Configurator ¶ added in v1.10.0
type Configurator struct {
	// Close this to stop all reflectors
	StopEverything <-chan struct{}
	// contains filtered or unexported fields
}
    Configurator defines I/O, caching, and other functionality needed to construct a new scheduler.
type FrameworkCapturer ¶ added in v1.19.0
type FrameworkCapturer func(schedulerapi.KubeSchedulerProfile)
FrameworkCapturer is used for registering a notify function in building framework.
type Option ¶ added in v1.13.0
type Option func(*schedulerOptions)
Option configures a Scheduler
func WithAlgorithmSource ¶ added in v1.17.0
func WithAlgorithmSource(source schedulerapi.SchedulerAlgorithmSource) Option
WithAlgorithmSource sets schedulerAlgorithmSource for Scheduler, the default is a source with DefaultProvider.
func WithBuildFrameworkCapturer ¶ added in v1.19.0
func WithBuildFrameworkCapturer(fc FrameworkCapturer) Option
WithBuildFrameworkCapturer sets a notify function for getting buildFramework details.
func WithExtenders ¶ added in v1.18.0
func WithExtenders(e ...schedulerapi.Extender) Option
WithExtenders sets extenders for the Scheduler
func WithFrameworkOutOfTreeRegistry ¶ added in v1.17.0
func WithFrameworkOutOfTreeRegistry(registry frameworkruntime.Registry) Option
WithFrameworkOutOfTreeRegistry sets the registry for out-of-tree plugins. Those plugins will be appended to the default registry.
func WithParallelism ¶ added in v1.20.0
WithParallelism sets the parallelism for all scheduler algorithms. Default is 16.
func WithPercentageOfNodesToScore ¶ added in v1.13.0
WithPercentageOfNodesToScore sets percentageOfNodesToScore for Scheduler, the default value is 50
func WithPodInitialBackoffSeconds ¶ added in v1.17.0
WithPodInitialBackoffSeconds sets podInitialBackoffSeconds for Scheduler, the default value is 1
func WithPodMaxBackoffSeconds ¶ added in v1.17.0
WithPodMaxBackoffSeconds sets podMaxBackoffSeconds for Scheduler, the default value is 10
func WithProfiles ¶ added in v1.18.0
func WithProfiles(p ...schedulerapi.KubeSchedulerProfile) Option
WithProfiles sets profiles for Scheduler. By default, there is one profile with the name "default-scheduler".
type Scheduler ¶
type Scheduler struct {
	// It is expected that changes made via SchedulerCache will be observed
	// by NodeLister and Algorithm.
	SchedulerCache internalcache.Cache
	Algorithm core.ScheduleAlgorithm
	// NextPod should be a function that blocks until the next pod
	// is available. We don't use a channel for this, because scheduling
	// a pod may take some amount of time and we don't want pods to get
	// stale while they sit in a channel.
	NextPod func() *framework.QueuedPodInfo
	// Error is called if there is an error. It is passed the pod in
	// question, and the error
	Error func(*framework.QueuedPodInfo, error)
	// Close this to shut down the scheduler.
	StopEverything <-chan struct{}
	// SchedulingQueue holds pods to be scheduled
	SchedulingQueue internalqueue.SchedulingQueue
	// Profiles are the scheduling profiles.
	Profiles profile.Map
	// contains filtered or unexported fields
}
    Scheduler watches for new unscheduled pods. It attempts to find nodes that they fit on and writes bindings back to the api server.
      
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
       apis
        | 
      |
| 
       internal
        | 
      |
| 
         
          
            resources
            
            
          
           
      Package resources provides a metrics collector that reports the resource consumption (requests and limits) of the pods in the cluster as the scheduler and kubelet would interpret it. 
         | 
      Package resources provides a metrics collector that reports the resource consumption (requests and limits) of the pods in the cluster as the scheduler and kubelet would interpret it. | 
| 
       Package profile holds the definition of a scheduling Profile. 
         | 
      Package profile holds the definition of a scheduling Profile. |