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 = names.NodeResourcesBalancedAllocation
)

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

const (
	// Name is the name of the plugin used in the plugin registry and configurations.
	Name = names.NodeResourcesFit
)

Functions

func NewBalancedAllocation

func NewBalancedAllocation(baArgs runtime.Object, h framework.Handle, fts feature.Features) (framework.Plugin, error)

NewBalancedAllocation initializes a new plugin and returns it.

func NewFit

NewFit 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) PreScore

func (ba *BalancedAllocation) PreScore(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod, nodes []*v1.Node) *framework.Status

PreScore calculates incoming pod's resource requests and writes them to the cycle state used.

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) EventsToRegister

func (f *Fit) EventsToRegister() []framework.ClusterEvent

EventsToRegister returns the possible events that may make a Pod failed by this plugin schedulable.

func (*Fit) Filter

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

Filter invoked at the filter extension point. Checks if a node has sufficient resources, such as cpu, memory, gpu, opaque int resources etc to run a pod. It returns a list of insufficient resources, if empty, then the node has all the resources requested by the pod.

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.PreFilterResult, *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.

func (*Fit) PreScore

func (f *Fit) PreScore(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod, nodes []*v1.Node) *framework.Status

PreScore calculates incoming pod's resource requests and writes them to the cycle state used.

func (*Fit) Score

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

Score invoked at the Score extension point.

func (*Fit) ScoreExtensions

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

ScoreExtensions of the Score plugin.

type InsufficientResource

type InsufficientResource struct {
	ResourceName v1.ResourceName
	// We explicitly have a parameter for reason to avoid formatting a message on the fly
	// for common resources, which is expensive for cluster autoscaler simulations.
	Reason    string
	Requested int64
	Used      int64
	Capacity  int64
}

InsufficientResource describes what kind of resource limit is hit and caused the pod to not fit the node.

func Fits

func Fits(pod *v1.Pod, nodeInfo *framework.NodeInfo) []InsufficientResource

Fits checks if node have enough resources to host the pod.

Source Files

balanced_allocation.go fit.go least_allocated.go most_allocated.go requested_to_capacity_ratio.go resource_allocation.go test_util.go

Version
v1.27.8
Published
Nov 15, 2023
Platform
js/wasm
Imports
23 packages
Last checked
16 seconds ago

Tools for package owners.