Documentation
¶
Index ¶
- Constants
- Variables
- func NewPluginScheduler(handle plugins.Handle) *pluginScheduler
- func NewSchedulerHandler(clusterClient clusterclient.Interface, ...) plugins.Handle
- func NewSchedulingController(clusterClient clusterclient.Interface, ...) factory.Controller
- func NewSchedulingControllerResync(clusterClient clusterclient.Interface, ...) factory.Controller
- type FilterResult
- type PrioritizerResult
- type PrioritizerScore
- type ScheduleResult
- type Scheduler
Constants ¶
View Source
const ( PrioritizerBalance string = "Balance" PrioritizerSteady string = "Steady" PrioritizerResourceAllocatableCPU string = "ResourceAllocatableCPU" PrioritizerResourceAllocatableMemory string = "ResourceAllocatableMemory" )
Variables ¶
View Source
var ResyncInterval = time.Minute * 5
Functions ¶
func NewPluginScheduler ¶ added in v0.2.0
func NewSchedulerHandler ¶ added in v0.2.0
func NewSchedulerHandler( clusterClient clusterclient.Interface, placementDecisionLister clusterlisterv1beta1.PlacementDecisionLister, scoreLister clusterlisterv1alpha1.AddOnPlacementScoreLister, clusterLister clusterlisterv1.ManagedClusterLister, recorder kevents.EventRecorder) plugins.Handle
func NewSchedulingController ¶
func NewSchedulingController( clusterClient clusterclient.Interface, clusterInformer clusterinformerv1.ManagedClusterInformer, clusterSetInformer clusterinformerv1beta1.ManagedClusterSetInformer, clusterSetBindingInformer clusterinformerv1beta1.ManagedClusterSetBindingInformer, placementInformer clusterinformerv1beta1.PlacementInformer, placementDecisionInformer clusterinformerv1beta1.PlacementDecisionInformer, scheduler Scheduler, recorder events.Recorder, krecorder kevents.EventRecorder, ) factory.Controller
NewDecisionSchedulingController return an instance of schedulingController
func NewSchedulingControllerResync ¶ added in v0.3.0
func NewSchedulingControllerResync( clusterClient clusterclient.Interface, clusterInformer clusterinformerv1.ManagedClusterInformer, clusterSetInformer clusterinformerv1beta1.ManagedClusterSetInformer, clusterSetBindingInformer clusterinformerv1beta1.ManagedClusterSetBindingInformer, placementInformer clusterinformerv1beta1.PlacementInformer, placementDecisionInformer clusterinformerv1beta1.PlacementDecisionInformer, scheduler Scheduler, recorder events.Recorder, krecorder kevents.EventRecorder, ) factory.Controller
Types ¶
type FilterResult ¶ added in v0.2.0
type PrioritizerResult ¶ added in v0.2.0
type PrioritizerResult struct { Name string `json:"name"` Weight int32 `json:"weight"` Scores PrioritizerScore `json:"scores"` }
PrioritizerResult defines the result of one prioritizer, include name, weight, and score of each cluster.
type PrioritizerScore ¶ added in v0.2.0
PrioritizerScore defines the score for each cluster
type ScheduleResult ¶ added in v0.2.0
type ScheduleResult interface { // FilterResults returns results for each filter FilterResults() []FilterResult // PrioritizerResults returns results for each prioritizer PrioritizerResults() []PrioritizerResult // PrioritizerScores returns total score for each cluster PrioritizerScores() PrioritizerScore // Decisions returns the decisions of the schedule Decisions() []clusterapiv1beta1.ClusterDecision // NumOfUnscheduled returns the number of unscheduled. NumOfUnscheduled() int // RequeueAfter returns the requeue time interval of the placement RequeueAfter() *time.Duration }
type Scheduler ¶ added in v0.2.0
type Scheduler interface { Schedule( ctx context.Context, placement *clusterapiv1beta1.Placement, clusters []*clusterapiv1.ManagedCluster, ) (ScheduleResult, error) }
Scheduler is an interface for scheduler, it returs the scheduler results
Click to show internal directories.
Click to hide internal directories.