package defaults

import "k8s.io/kubernetes/pkg/scheduler/apis/config/testing/defaults"

Index

Variables

var ExpandedPluginsV1 = &config.Plugins{
	QueueSort: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.PrioritySort},
		},
	},
	PreFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeAffinity},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit},
			{Name: names.VolumeRestrictions},
			{Name: names.VolumeBinding},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	Filter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeUnschedulable},
			{Name: names.NodeName},
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit},
			{Name: names.VolumeRestrictions},
			{Name: names.EBSLimits},
			{Name: names.GCEPDLimits},
			{Name: names.NodeVolumeLimits},
			{Name: names.AzureDiskLimits},
			{Name: names.VolumeBinding},
			{Name: names.VolumeZone},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	PostFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultPreemption},
		},
	},
	PreScore: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	Score: config.PluginSet{
		Enabled: []config.Plugin{

			{Name: names.TaintToleration, Weight: 3},

			{Name: names.NodeAffinity, Weight: 2},
			{Name: names.NodeResourcesFit, Weight: 1},

			{Name: names.VolumeBinding, Weight: 1},

			{Name: names.PodTopologySpread, Weight: 2},

			{Name: names.InterPodAffinity, Weight: 2},
			{Name: names.NodeResourcesBalancedAllocation, Weight: 1},
			{Name: names.ImageLocality, Weight: 1},
		},
	},
	Reserve: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	PreBind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	Bind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultBinder},
		},
	},
}

ExpandedPluginsV1 default set of v1 plugins after MultiPoint expansion

var ExpandedPluginsV1beta3 = &config.Plugins{
	QueueSort: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.PrioritySort},
		},
	},
	PreFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeAffinity},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit},
			{Name: names.VolumeRestrictions},
			{Name: names.VolumeBinding},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	Filter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeUnschedulable},
			{Name: names.NodeName},
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit},
			{Name: names.VolumeRestrictions},
			{Name: names.EBSLimits},
			{Name: names.GCEPDLimits},
			{Name: names.NodeVolumeLimits},
			{Name: names.AzureDiskLimits},
			{Name: names.VolumeBinding},
			{Name: names.VolumeZone},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	PostFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultPreemption},
		},
	},
	PreScore: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	Score: config.PluginSet{
		Enabled: []config.Plugin{

			{Name: names.TaintToleration, Weight: 3},

			{Name: names.NodeAffinity, Weight: 2},
			{Name: names.NodeResourcesFit, Weight: 1},

			{Name: names.VolumeBinding, Weight: 1},

			{Name: names.PodTopologySpread, Weight: 2},

			{Name: names.InterPodAffinity, Weight: 2},
			{Name: names.NodeResourcesBalancedAllocation, Weight: 1},
			{Name: names.ImageLocality, Weight: 1},
		},
	},
	Reserve: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	PreBind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	Bind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultBinder},
		},
	},
}

ExpandedPluginsV1beta3 default set of v1beta3 plugins after MultiPoint expansion

var PluginConfigsV1 = []config.PluginConfig{
	{
		Name: "DefaultPreemption",
		Args: &config.DefaultPreemptionArgs{
			MinCandidateNodesPercentage: 10,
			MinCandidateNodesAbsolute:   100,
		},
	},
	{
		Name: "InterPodAffinity",
		Args: &config.InterPodAffinityArgs{
			HardPodAffinityWeight: 1,
		},
	},
	{
		Name: "NodeAffinity",
		Args: &config.NodeAffinityArgs{},
	},
	{
		Name: "NodeResourcesBalancedAllocation",
		Args: &config.NodeResourcesBalancedAllocationArgs{
			Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
		},
	},
	{
		Name: "NodeResourcesFit",
		Args: &config.NodeResourcesFitArgs{
			ScoringStrategy: &config.ScoringStrategy{
				Type:      config.LeastAllocated,
				Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
			},
		},
	},
	{
		Name: "PodTopologySpread",
		Args: &config.PodTopologySpreadArgs{
			DefaultingType: config.SystemDefaulting,
		},
	},
	{
		Name: "VolumeBinding",
		Args: &config.VolumeBindingArgs{
			BindTimeoutSeconds: 600,
		},
	},
}

PluginConfigsV1 default plugin configurations.

var PluginConfigsV1beta2 = []config.PluginConfig{
	{
		Name: "DefaultPreemption",
		Args: &config.DefaultPreemptionArgs{
			MinCandidateNodesPercentage: 10,
			MinCandidateNodesAbsolute:   100,
		},
	},
	{
		Name: "InterPodAffinity",
		Args: &config.InterPodAffinityArgs{
			HardPodAffinityWeight: 1,
		},
	},
	{
		Name: "NodeAffinity",
		Args: &config.NodeAffinityArgs{},
	},
	{
		Name: "NodeResourcesBalancedAllocation",
		Args: &config.NodeResourcesBalancedAllocationArgs{
			Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
		},
	},
	{
		Name: "NodeResourcesFit",
		Args: &config.NodeResourcesFitArgs{
			ScoringStrategy: &config.ScoringStrategy{
				Type:      config.LeastAllocated,
				Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
			},
		},
	},
	{
		Name: "PodTopologySpread",
		Args: &config.PodTopologySpreadArgs{
			DefaultingType: config.SystemDefaulting,
		},
	},
	{
		Name: "VolumeBinding",
		Args: &config.VolumeBindingArgs{
			BindTimeoutSeconds: 600,
		},
	},
}

PluginConfigsV1beta2 default plugin configurations. This could get versioned, but since all available versions produce the same defaults, we just have one for now.

var PluginConfigsV1beta3 = []config.PluginConfig{
	{
		Name: "DefaultPreemption",
		Args: &config.DefaultPreemptionArgs{
			MinCandidateNodesPercentage: 10,
			MinCandidateNodesAbsolute:   100,
		},
	},
	{
		Name: "InterPodAffinity",
		Args: &config.InterPodAffinityArgs{
			HardPodAffinityWeight: 1,
		},
	},
	{
		Name: "NodeAffinity",
		Args: &config.NodeAffinityArgs{},
	},
	{
		Name: "NodeResourcesBalancedAllocation",
		Args: &config.NodeResourcesBalancedAllocationArgs{
			Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
		},
	},
	{
		Name: "NodeResourcesFit",
		Args: &config.NodeResourcesFitArgs{
			ScoringStrategy: &config.ScoringStrategy{
				Type:      config.LeastAllocated,
				Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
			},
		},
	},
	{
		Name: "PodTopologySpread",
		Args: &config.PodTopologySpreadArgs{
			DefaultingType: config.SystemDefaulting,
		},
	},
	{
		Name: "VolumeBinding",
		Args: &config.VolumeBindingArgs{
			BindTimeoutSeconds: 600,
		},
	},
}

PluginConfigsV1beta3 default plugin configurations.

var PluginsV1 = &config.Plugins{
	MultiPoint: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.PrioritySort},
			{Name: names.NodeUnschedulable},
			{Name: names.NodeName},
			{Name: names.TaintToleration, Weight: 3},
			{Name: names.NodeAffinity, Weight: 2},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit, Weight: 1},
			{Name: names.VolumeRestrictions},
			{Name: names.EBSLimits},
			{Name: names.GCEPDLimits},
			{Name: names.NodeVolumeLimits},
			{Name: names.AzureDiskLimits},
			{Name: names.VolumeBinding},
			{Name: names.VolumeZone},
			{Name: names.PodTopologySpread, Weight: 2},
			{Name: names.InterPodAffinity, Weight: 2},
			{Name: names.DefaultPreemption},
			{Name: names.NodeResourcesBalancedAllocation, Weight: 1},
			{Name: names.ImageLocality, Weight: 1},
			{Name: names.DefaultBinder},
		},
	},
}

PluginsV1 is the set of default v1 plugins (before MultiPoint expansion)

var PluginsV1beta2 = &config.Plugins{
	QueueSort: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.PrioritySort},
		},
	},
	PreFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeResourcesFit},
			{Name: names.NodePorts},
			{Name: names.VolumeRestrictions},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
			{Name: names.VolumeBinding},
			{Name: names.NodeAffinity},
		},
	},
	Filter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeUnschedulable},
			{Name: names.NodeName},
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit},
			{Name: names.VolumeRestrictions},
			{Name: names.EBSLimits},
			{Name: names.GCEPDLimits},
			{Name: names.NodeVolumeLimits},
			{Name: names.AzureDiskLimits},
			{Name: names.VolumeBinding},
			{Name: names.VolumeZone},
			{Name: names.PodTopologySpread},
			{Name: names.InterPodAffinity},
		},
	},
	PostFilter: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultPreemption},
		},
	},
	PreScore: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.InterPodAffinity},
			{Name: names.PodTopologySpread},
			{Name: names.TaintToleration},
			{Name: names.NodeAffinity},
		},
	},
	Score: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.NodeResourcesBalancedAllocation, Weight: 1},
			{Name: names.ImageLocality, Weight: 1},
			{Name: names.InterPodAffinity, Weight: 1},
			{Name: names.NodeResourcesFit, Weight: 1},
			{Name: names.NodeAffinity, Weight: 1},

			{Name: names.PodTopologySpread, Weight: 2},
			{Name: names.TaintToleration, Weight: 1},
		},
	},
	Reserve: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	PreBind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.VolumeBinding},
		},
	},
	Bind: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.DefaultBinder},
		},
	},
}

PluginsV1beta2 default set of v1beta2 plugins.

var PluginsV1beta3 = &config.Plugins{
	MultiPoint: config.PluginSet{
		Enabled: []config.Plugin{
			{Name: names.PrioritySort},
			{Name: names.NodeUnschedulable},
			{Name: names.NodeName},
			{Name: names.TaintToleration, Weight: 3},
			{Name: names.NodeAffinity, Weight: 2},
			{Name: names.NodePorts},
			{Name: names.NodeResourcesFit, Weight: 1},
			{Name: names.VolumeRestrictions},
			{Name: names.EBSLimits},
			{Name: names.GCEPDLimits},
			{Name: names.NodeVolumeLimits},
			{Name: names.AzureDiskLimits},
			{Name: names.VolumeBinding},
			{Name: names.VolumeZone},
			{Name: names.PodTopologySpread, Weight: 2},
			{Name: names.InterPodAffinity, Weight: 2},
			{Name: names.DefaultPreemption},
			{Name: names.NodeResourcesBalancedAllocation, Weight: 1},
			{Name: names.ImageLocality, Weight: 1},
			{Name: names.DefaultBinder},
		},
	},
}

PluginsV1beta3 is the set of default v1beta3 plugins (before MultiPoint expansion)

Source Files

defaults.go

Version
v1.25.1
Published
Sep 14, 2022
Platform
js/wasm
Imports
2 packages
Last checked
37 seconds ago

Tools for package owners.