kubernetes

package
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Plugins = []PluginDescriptor{
	{
		Name:          nodeutilization.HighNodeUtilizationPluginName,
		Factory:       nodeutilization.NewHighNodeUtilization,
		ArgsPrototype: &nodeutilization.HighNodeUtilizationArgs{},
		ArgsDefaulter: nodeutilization.SetDefaults_HighNodeUtilizationArgs,
		ArgsValidator: nodeutilization.ValidateHighNodeUtilizationArgs,
	},
	{
		Name:          nodeutilization.LowNodeUtilizationPluginName,
		Factory:       nodeutilization.NewLowNodeUtilization,
		ArgsPrototype: &nodeutilization.LowNodeUtilizationArgs{},
		ArgsDefaulter: nodeutilization.SetDefaults_LowNodeUtilizationArgs,
		ArgsValidator: nodeutilization.ValidateLowNodeUtilizationArgs,
	},
	{
		Name:          podlifetime.PluginName,
		Factory:       podlifetime.New,
		ArgsPrototype: &podlifetime.PodLifeTimeArgs{},
		ArgsDefaulter: podlifetime.SetDefaults_PodLifeTimeArgs,
		ArgsValidator: podlifetime.ValidatePodLifeTimeArgs,
	},
	{
		Name:          removefailedpods.PluginName,
		Factory:       removefailedpods.New,
		ArgsPrototype: &removefailedpods.RemoveFailedPodsArgs{},
		ArgsDefaulter: removefailedpods.SetDefaults_RemoveFailedPodsArgs,
		ArgsValidator: removefailedpods.ValidateRemoveFailedPodsArgs,
	},
	{
		Name:          removeduplicates.PluginName,
		Factory:       removeduplicates.New,
		ArgsPrototype: &removeduplicates.RemoveDuplicatesArgs{},
		ArgsDefaulter: removeduplicates.SetDefaults_RemoveDuplicatesArgs,
		ArgsValidator: removeduplicates.ValidateRemoveDuplicatesArgs,
	},
	{
		Name:          removepodshavingtoomanyrestarts.PluginName,
		Factory:       removepodshavingtoomanyrestarts.New,
		ArgsPrototype: &removepodshavingtoomanyrestarts.RemovePodsHavingTooManyRestartsArgs{},
		ArgsDefaulter: removepodshavingtoomanyrestarts.SetDefaults_RemovePodsHavingTooManyRestartsArgs,
		ArgsValidator: removepodshavingtoomanyrestarts.ValidateRemovePodsHavingTooManyRestartsArgs,
	},
	{
		Name:          removepodsviolatinginterpodantiaffinity.PluginName,
		Factory:       removepodsviolatinginterpodantiaffinity.New,
		ArgsPrototype: &removepodsviolatinginterpodantiaffinity.RemovePodsViolatingInterPodAntiAffinityArgs{},
		ArgsDefaulter: removepodsviolatinginterpodantiaffinity.SetDefaults_RemovePodsViolatingInterPodAntiAffinityArgs,
		ArgsValidator: removepodsviolatinginterpodantiaffinity.ValidateRemovePodsViolatingInterPodAntiAffinityArgs,
	},
	{
		Name:          removepodsviolatingnodeaffinity.PluginName,
		Factory:       removepodsviolatingnodeaffinity.New,
		ArgsPrototype: &removepodsviolatingnodeaffinity.RemovePodsViolatingNodeAffinityArgs{},
		ArgsDefaulter: removepodsviolatingnodeaffinity.SetDefaults_RemovePodsViolatingNodeAffinityArgs,
		ArgsValidator: removepodsviolatingnodeaffinity.ValidateRemovePodsViolatingNodeAffinityArgs,
	},

	{
		Name:          removepodsviolatingnodetaints.PluginName,
		Factory:       removepodsviolatingnodetaints.New,
		ArgsPrototype: &removepodsviolatingnodetaints.RemovePodsViolatingNodeTaintsArgs{},
		ArgsDefaulter: removepodsviolatingnodetaints.SetDefaults_RemovePodsViolatingNodeTaintsArgs,
		ArgsValidator: removepodsviolatingnodetaints.ValidateRemovePodsViolatingNodeTaintsArgs,
	},
	{
		Name:          removepodsviolatingtopologyspreadconstraint.PluginName,
		Factory:       removepodsviolatingtopologyspreadconstraint.New,
		ArgsPrototype: &removepodsviolatingtopologyspreadconstraint.RemovePodsViolatingTopologySpreadConstraintArgs{},
		ArgsDefaulter: removepodsviolatingtopologyspreadconstraint.SetDefaults_RemovePodsViolatingTopologySpreadConstraintArgs,
		ArgsValidator: removepodsviolatingtopologyspreadconstraint.ValidateRemovePodsViolatingTopologySpreadConstraintArgs,
	},
}

Functions

func SetupK8sDeschedulerPlugins

func SetupK8sDeschedulerPlugins(registry frameworkruntime.Registry)

Types

type PluginAdaptor

type PluginAdaptor struct {
	// contains filtered or unexported fields
}

func (*PluginAdaptor) Balance

func (a *PluginAdaptor) Balance(ctx context.Context, nodes []*corev1.Node) *framework.Status

func (*PluginAdaptor) Deschedule

func (a *PluginAdaptor) Deschedule(ctx context.Context, nodes []*corev1.Node) *framework.Status

func (*PluginAdaptor) Name

func (a *PluginAdaptor) Name() string

type PluginArgsDefaulter

type PluginArgsDefaulter = func(obj runtime.Object)

type PluginArgsValidator

type PluginArgsValidator = func(obj runtime.Object) error

type PluginDescriptor

type PluginDescriptor struct {
	Name          string
	Factory       PluginFactory
	ArgsPrototype runtime.Object
	ArgsDefaulter PluginArgsDefaulter
	ArgsValidator PluginArgsValidator
}

func (*PluginDescriptor) New

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL