Documentation
¶
Index ¶
Constants ¶
View Source
const ( // MaxClusterScore is the maximum score a Prioritizer plugin is expected to return. MaxClusterScore int64 = 100 // MinClusterScore is the minimum score a Prioritizer plugin is expected to return. MinClusterScore int64 = -100 // MaxTotalScore is the maximum total score. MaxTotalScore int64 = math.MaxInt64 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Filter ¶
type Filter interface { Plugin // Filter returns a list of clusters satisfying the certain condition. Filter(ctx context.Context, placement *clusterapiv1alpha1.Placement, clusters []*clusterapiv1.ManagedCluster) ([]*clusterapiv1.ManagedCluster, error) }
Fitler defines a filter plugin that filter unsatisfied cluster.
type Handle ¶
type Handle interface { // DecisionLister lists all decisions DecisionLister() clusterlisterv1alpha1.PlacementDecisionLister // ScoreLister lists all AddOnPlacementScores ScoreLister() clusterlisterv1alpha1.AddOnPlacementScoreLister // ClusterClient returns the cluster client ClusterClient() clusterclient.Interface // EventRecorder returns an event recorder. EventRecorder() events.EventRecorder }
Handle provides data and some tools that plugins can use. It is passed to the plugin factories at the time of plugin initialization.
type Plugin ¶
type Plugin interface { Name() string // Set is to set the placement for the current scheduling. Description() string }
Plugin is the parent type for all the scheduling plugins.
type Prioritizer ¶
type Prioritizer interface { Plugin // Score gives the score to a list of the clusters, it returns a map with the key as // the cluster name. Score(ctx context.Context, placement *clusterapiv1alpha1.Placement, clusters []*clusterapiv1.ManagedCluster) (map[string]int64, error) }
Prioritizer defines a prioritizer plugin that score each cluster. The score is normalized as a floating betwween 0 and 1.
Click to show internal directories.
Click to hide internal directories.