kubernetesk8s.io/kubernetes/pkg/scheduler/framework/plugins/noderesources Index | Files

package noderesources

import "k8s.io/kubernetes/pkg/scheduler/framework/plugins/noderesources"

Index

Constants

const BalancedAllocationName = "NodeResourcesBalancedAllocation"

BalancedAllocationName is the name of the plugin used in the plugin registry and configurations.

const (
	// FitName is the name of the plugin used in the plugin registry and configurations.
	FitName = "NodeResourcesFit"
)
const LeastAllocatedName = "NodeResourcesLeastAllocated"

LeastAllocatedName is the name of the plugin used in the plugin registry and configurations.

const MostAllocatedName = "NodeResourcesMostAllocated"

MostAllocatedName is the name of the plugin used in the plugin registry and configurations.

Functions

func NewBalancedAllocation

func NewBalancedAllocation(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error)

NewBalancedAllocation initializes a new plugin and returns it.

func NewFit

NewFit initializes a new plugin and returns it.

func NewLeastAllocated

func NewLeastAllocated(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error)

NewLeastAllocated initializes a new plugin and returns it.

func NewMostAllocated

func NewMostAllocated(_ *runtime.Unknown, h framework.FrameworkHandle) (framework.Plugin, error)

NewMostAllocated initializes a new plugin and returns it.

Types

type BalancedAllocation

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

BalancedAllocation is a score plugin that calculates the difference between the cpu and memory fraction of capacity, and prioritizes the host based on how close the two metrics are to each other.

func (*BalancedAllocation) Name

func (ba *BalancedAllocation) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*BalancedAllocation) Score

func (ba *BalancedAllocation) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

Score invoked at the score extension point.

func (*BalancedAllocation) ScoreExtensions

func (ba *BalancedAllocation) ScoreExtensions() framework.ScoreExtensions

ScoreExtensions of the Score plugin.

type Fit

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

Fit is a plugin that checks if a node has sufficient resources.

func (*Fit) Filter

func (f *Fit) Filter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod, nodeInfo *nodeinfo.NodeInfo) *framework.Status

Filter invoked at the filter extension point.

func (*Fit) Name

func (f *Fit) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*Fit) PreFilter

func (f *Fit) PreFilter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod) *framework.Status

PreFilter invoked at the prefilter extension point.

func (*Fit) PreFilterExtensions

func (f *Fit) PreFilterExtensions() framework.PreFilterExtensions

PreFilterExtensions returns prefilter extensions, pod add and remove.

type FitArgs

type FitArgs struct {
	// IgnoredResources is the list of resources that NodeResources fit filter
	// should ignore.
	IgnoredResources []string `json:"IgnoredResources,omitempty"`
}

FitArgs holds the args that are used to configure the plugin.

type LeastAllocated

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

LeastAllocated is a score plugin that favors nodes with fewer allocation requested resources based on requested resources.

func (*LeastAllocated) Name

func (la *LeastAllocated) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*LeastAllocated) Score

func (la *LeastAllocated) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

Score invoked at the score extension point.

func (*LeastAllocated) ScoreExtensions

func (la *LeastAllocated) ScoreExtensions() framework.ScoreExtensions

ScoreExtensions of the Score plugin.

type MostAllocated

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

MostAllocated is a score plugin that favors nodes with high allocation based on requested resources.

func (*MostAllocated) Name

func (ma *MostAllocated) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*MostAllocated) Score

func (ma *MostAllocated) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

Score invoked at the Score extension point.

func (*MostAllocated) ScoreExtensions

func (ma *MostAllocated) ScoreExtensions() framework.ScoreExtensions

ScoreExtensions of the Score plugin.

Source Files

balanced_allocation.go fit.go least_allocated.go most_allocated.go test_util.go

Version
v1.18.0-alpha.1
Published
Dec 18, 2019
Platform
js/wasm
Imports
13 packages
Last checked
50 minutes ago

Tools for package owners.