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

package nodelabel

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

Index

Package Files

node_label.go

Constants

const (
    // ErrReasonPresenceViolated is used for CheckNodeLabelPresence predicate error.
    ErrReasonPresenceViolated = "node(s) didn't have the requested labels"
)
const Name = "NodeLabel"

Name of this plugin.

func New Uses

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

New initializes a new plugin and returns it.

type NodeLabel Uses

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

NodeLabel checks whether a pod can fit based on the node labels which match a filter that it requests.

func (*NodeLabel) Filter Uses

func (pl *NodeLabel) Filter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status

Filter invoked at the filter extension point. It checks whether all of the specified labels exists on a node or not, regardless of their value

Consider the cases where the nodes are placed in regions/zones/racks and these are identified by labels In some cases, it is required that only nodes that are part of ANY of the defined regions/zones/racks be selected

Alternately, eliminating nodes that have a certain label, regardless of value, is also useful A node may have a label with "retiring" as key and the date as the value and it may be desirable to avoid scheduling new pods on this node.

func (*NodeLabel) Name Uses

func (pl *NodeLabel) Name() string

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

func (*NodeLabel) Score Uses

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

Score invoked at the score extension point.

func (*NodeLabel) ScoreExtensions Uses

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

ScoreExtensions of the Score plugin.

Package nodelabel imports 8 packages (graph) and is imported by 3 packages. Updated 2020-07-24. Refresh now. Tools for package owners.