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

package noderesources

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

Index

Package Files

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

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.

const (
    // RequestedToCapacityRatioName is the name of this plugin.
    RequestedToCapacityRatioName = "RequestedToCapacityRatio"
)

func NewBalancedAllocation Uses

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

NewBalancedAllocation initializes a new plugin and returns it.

func NewFit Uses

func NewFit(plArgs runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error)

NewFit initializes a new plugin and returns it.

func NewLeastAllocated Uses

func NewLeastAllocated(laArgs runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error)

NewLeastAllocated initializes a new plugin and returns it.

func NewMostAllocated Uses

func NewMostAllocated(maArgs runtime.Object, h framework.FrameworkHandle) (framework.Plugin, error)

NewMostAllocated initializes a new plugin and returns it.

func NewRequestedToCapacityRatio Uses

func NewRequestedToCapacityRatio(plArgs runtime.Object, handle framework.FrameworkHandle) (framework.Plugin, error)

NewRequestedToCapacityRatio initializes a new plugin and returns it.

type BalancedAllocation Uses

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 Uses

func (ba *BalancedAllocation) Name() string

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

func (*BalancedAllocation) Score Uses

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 Uses

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

ScoreExtensions of the Score plugin.

type Fit Uses

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

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

func (*Fit) Filter Uses

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 Uses

func (f *Fit) Name() string

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

func (*Fit) PreFilter Uses

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 Uses

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

PreFilterExtensions returns prefilter extensions, pod add and remove.

type InsufficientResource Uses

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 Uses

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

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

type LeastAllocated Uses

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 Uses

func (la *LeastAllocated) Name() string

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

func (*LeastAllocated) Score Uses

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 Uses

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

ScoreExtensions of the Score plugin.

type MostAllocated Uses

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 Uses

func (ma *MostAllocated) Name() string

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

func (*MostAllocated) Score Uses

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 Uses

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

ScoreExtensions of the Score plugin.

type RequestedToCapacityRatio Uses

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

RequestedToCapacityRatio is a score plugin that allow users to apply bin packing on core resources like CPU, Memory as well as extended resources like accelerators.

func (*RequestedToCapacityRatio) Name Uses

func (pl *RequestedToCapacityRatio) Name() string

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

func (*RequestedToCapacityRatio) Score Uses

func (pl *RequestedToCapacityRatio) Score(ctx context.Context, _ *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

Score invoked at the score extension point.

func (*RequestedToCapacityRatio) ScoreExtensions Uses

func (pl *RequestedToCapacityRatio) ScoreExtensions() framework.ScoreExtensions

ScoreExtensions of the Score plugin.

Package noderesources imports 19 packages (graph) and is imported by 49 packages. Updated 2020-07-09. Refresh now. Tools for package owners.