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

Name of this plugin.


This section is empty.


func New

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

New initializes a new plugin and returns it.


type NodeLabel

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

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

func (pl *NodeLabel) Name() string

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

func (*NodeLabel) Score

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

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

ScoreExtensions of the Score plugin.

Source Files