Documentation

Index

Constants

View Source
const (
	// BindTimeoutSeconds defines the default bind timeout
	BindTimeoutSeconds = 100
	// SchedulerError is the reason recorded for events when an error occurs during scheduling a pod.
	SchedulerError = "SchedulerError"
)

Variables

This section is empty.

Functions

func AddAllEventHandlers

func AddAllEventHandlers(
	sched *Scheduler,
	schedulerName string,
	nodeInformer coreinformers.NodeInformer,
	podInformer coreinformers.PodInformer,
	pvInformer coreinformers.PersistentVolumeInformer,
	pvcInformer coreinformers.PersistentVolumeClaimInformer,
	replicationControllerInformer coreinformers.ReplicationControllerInformer,
	replicaSetInformer appsinformers.ReplicaSetInformer,
	statefulSetInformer appsinformers.StatefulSetInformer,
	serviceInformer coreinformers.ServiceInformer,
	pdbInformer policyinformers.PodDisruptionBudgetInformer,
	storageClassInformer storageinformers.StorageClassInformer,
)

    AddAllEventHandlers is a helper function used in tests and in Scheduler to add event handlers for various informers.

    Types

    type EmptyPluginSet

    type EmptyPluginSet struct{}

      EmptyPluginSet is the default plugin registrar used by the default scheduler.

      func (EmptyPluginSet) Data

      func (r EmptyPluginSet) Data() *plugins.PluginData

        Data returns a pointer to PluginData.

        func (EmptyPluginSet) PrebindPlugins

        func (r EmptyPluginSet) PrebindPlugins() []plugins.PrebindPlugin

          PrebindPlugins returns a slice of default prebind plugins.

          func (EmptyPluginSet) ReservePlugins

          func (r EmptyPluginSet) ReservePlugins() []plugins.ReservePlugin

            ReservePlugins returns a slice of default reserve plugins.

            type FakeConfigurator

            type FakeConfigurator struct {
            	Config *factory.Config
            }

              FakeConfigurator is an implementation for test.

              func (*FakeConfigurator) Create

              func (fc *FakeConfigurator) Create() (*factory.Config, error)

                Create returns FakeConfigurator.Config

                func (*FakeConfigurator) CreateFromConfig

                func (fc *FakeConfigurator) CreateFromConfig(policy schedulerapi.Policy) (*factory.Config, error)

                  CreateFromConfig returns FakeConfigurator.Config

                  func (*FakeConfigurator) CreateFromKeys

                  func (fc *FakeConfigurator) CreateFromKeys(predicateKeys, priorityKeys sets.String, extenders []algorithm.SchedulerExtender) (*factory.Config, error)

                    CreateFromKeys returns FakeConfigurator.Config

                    func (*FakeConfigurator) CreateFromProvider

                    func (fc *FakeConfigurator) CreateFromProvider(providerName string) (*factory.Config, error)

                      CreateFromProvider returns FakeConfigurator.Config

                      func (*FakeConfigurator) GetClient

                      func (fc *FakeConfigurator) GetClient() clientset.Interface

                        GetClient is not implemented yet.

                        func (*FakeConfigurator) GetHardPodAffinitySymmetricWeight

                        func (fc *FakeConfigurator) GetHardPodAffinitySymmetricWeight() int32

                          GetHardPodAffinitySymmetricWeight is not implemented yet.

                          func (*FakeConfigurator) GetNodeLister

                          func (fc *FakeConfigurator) GetNodeLister() corelisters.NodeLister

                            GetNodeLister is not implemented yet.

                            func (*FakeConfigurator) GetPredicateMetadataProducer

                            func (fc *FakeConfigurator) GetPredicateMetadataProducer() (predicates.PredicateMetadataProducer, error)

                              GetPredicateMetadataProducer is not implemented yet.

                              func (*FakeConfigurator) GetPredicates

                              func (fc *FakeConfigurator) GetPredicates(predicateKeys sets.String) (map[string]predicates.FitPredicate, error)

                                GetPredicates is not implemented yet.

                                func (*FakeConfigurator) GetScheduledPodLister

                                func (fc *FakeConfigurator) GetScheduledPodLister() corelisters.PodLister

                                  GetScheduledPodLister is not implemented yet.

                                  func (*FakeConfigurator) MakeDefaultErrorFunc

                                  func (fc *FakeConfigurator) MakeDefaultErrorFunc(backoff *util.PodBackoff, podQueue internalqueue.SchedulingQueue) func(pod *v1.Pod, err error)

                                    MakeDefaultErrorFunc is not implemented yet.

                                    type Option

                                    type Option func(*schedulerOptions)

                                      Option configures a Scheduler

                                      func WithBindTimeoutSeconds

                                      func WithBindTimeoutSeconds(bindTimeoutSeconds int64) Option

                                        WithBindTimeoutSeconds sets bindTimeoutSeconds for Scheduler, the default value is 100

                                        func WithHardPodAffinitySymmetricWeight

                                        func WithHardPodAffinitySymmetricWeight(hardPodAffinitySymmetricWeight int32) Option

                                          WithHardPodAffinitySymmetricWeight sets hardPodAffinitySymmetricWeight for Scheduler, the default value is 1

                                          func WithName

                                          func WithName(schedulerName string) Option

                                            WithName sets schedulerName for Scheduler, the default schedulerName is default-scheduler

                                            func WithPercentageOfNodesToScore

                                            func WithPercentageOfNodesToScore(percentageOfNodesToScore int32) Option

                                              WithPercentageOfNodesToScore sets percentageOfNodesToScore for Scheduler, the default value is 50

                                              func WithPreemptionDisabled

                                              func WithPreemptionDisabled(disablePreemption bool) Option

                                                WithPreemptionDisabled sets disablePreemption for Scheduler, the default value is false

                                                type Scheduler

                                                type Scheduler struct {
                                                	// 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.

                                                  func New

                                                  func New(client clientset.Interface,
                                                  	nodeInformer coreinformers.NodeInformer,
                                                  	podInformer coreinformers.PodInformer,
                                                  	pvInformer coreinformers.PersistentVolumeInformer,
                                                  	pvcInformer coreinformers.PersistentVolumeClaimInformer,
                                                  	replicationControllerInformer coreinformers.ReplicationControllerInformer,
                                                  	replicaSetInformer appsinformers.ReplicaSetInformer,
                                                  	statefulSetInformer appsinformers.StatefulSetInformer,
                                                  	serviceInformer coreinformers.ServiceInformer,
                                                  	pdbInformer policyinformers.PodDisruptionBudgetInformer,
                                                  	storageClassInformer storageinformers.StorageClassInformer,
                                                  	recorder record.EventRecorder,
                                                  	schedulerAlgorithmSource kubeschedulerconfig.SchedulerAlgorithmSource,
                                                  	stopCh <-chan struct{},
                                                  	opts ...func(o *schedulerOptions)) (*Scheduler, error)

                                                    New returns a Scheduler

                                                    func NewFromConfig

                                                    func NewFromConfig(config *factory.Config) *Scheduler

                                                      NewFromConfig returns a new scheduler using the provided Config.

                                                      func (*Scheduler) Cache

                                                      func (sched *Scheduler) Cache() schedulerinternalcache.Cache

                                                        Cache returns the cache in scheduler for test to check the data in scheduler.

                                                        func (*Scheduler) Config

                                                        func (sched *Scheduler) Config() *factory.Config

                                                          Config returns scheduler's config pointer. It is exposed for testing purposes.

                                                          func (*Scheduler) Run

                                                          func (sched *Scheduler) Run()

                                                            Run begins watching and scheduling. It waits for cache to be synced, then starts a goroutine and returns immediately.

                                                            Directories

                                                            Path Synopsis
                                                            Package algorithm contains a generic Scheduler interface and several implementations.
                                                            Package algorithm contains a generic Scheduler interface and several implementations.
                                                            api
                                                            Package api contains scheduler API objects.
                                                            Package api contains scheduler API objects.
                                                            v1
                                                            Package v1 contains scheduler API objects.
                                                            Package v1 contains scheduler API objects.
                                                            apis
                                                            Package factory can set up a scheduler.
                                                            Package factory can set up a scheduler.
                                                            internal