func defaultPriorities() sets.String { return sets.NewString( // Prioritize nodes by least requested utilization. factory.RegisterPriorityFunction("LeastRequestedPriority", priorities.LeastRequestedPriority, 10), // Prioritizes nodes to help achieve balanced resource usage factory.RegisterPriorityFunction("BalancedResourceAllocation", priorities.BalancedResourceAllocation, 20), // spreads pods by minimizing the number of pods (belonging to the same service or replication controller) on the same node. factory.RegisterPriorityFunction("LeastResourceRemain", priorities.LeastResourceRemain, 30), factory.RegisterPriorityConfigFactory( "SelectorSpreadPriority", factory.PriorityConfigFactory{ Function: func(args factory.PluginFactoryArgs) algorithm.PriorityFunction { return priorities.NewSelectorSpreadPriority(args.ServiceLister, args.ControllerLister) }, Weight: 40, }, ), factory.RegisterPriorityConfigFactory( "NetworkSpreadPriority", factory.PriorityConfigFactory{ Function: func(args factory.PluginFactoryArgs) algorithm.PriorityFunction { return priorities.NewNetworkSpreadPriority(args.ServiceLister, args.ControllerLister) }, Weight: 50, }, ), ) }
func init() { factory.RegisterAlgorithmProvider(factory.DefaultProvider, defaultPredicates(), defaultPriorities()) // EqualPriority is a prioritizer function that gives an equal weight of one to all nodes // Register the priority function so that its available // but do not include it as part of the default priorities factory.RegisterPriorityFunction("EqualPriority", scheduler.EqualPriority, 1) // ServiceSpreadingPriority is a priority config factory that spreads pods by minimizing // the number of pods (belonging to the same service) on the same node. // Register the factory so that it's available, but do not include it as part of the default priorities // Largely replaced by "SelectorSpreadPriority", but registered for backward compatibility with 1.0 // factory.RegisterPriorityConfigFactory( // "ServiceSpreadingPriority", // factory.PriorityConfigFactory{ // Function: func(args factory.PluginFactoryArgs) algorithm.PriorityFunction { // return priorities.NewSelectorSpreadPriority(args.ServiceLister, algorithm.EmptyControllerLister{}) // }, // Weight: 1, // }, //) // PodFitsPorts has been replaced by PodFitsHostPorts for better user understanding. // For backwards compatibility with 1.0, PodFitsPorts is regitered as well. // factory.RegisterFitPredicate("PodFitsPorts", predicates.PodFitsHostPorts) }