Documentation ¶
Index ¶
- Constants
- func New(plArgs runtime.Object, handle handle.PodFrameworkHandle) (framework.Plugin, error)
- type NodeLabel
- func (pl *NodeLabel) Filter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, ...) *framework.Status
- func (pl *NodeLabel) Name() string
- func (pl *NodeLabel) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)
- func (pl *NodeLabel) ScoreExtensions() framework.ScoreExtensions
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.
Variables ¶
This section is empty.
Functions ¶
Types ¶
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, state *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 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) 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.