package v1

import "k8s.io/kubernetes/plugin/pkg/scheduler/api/v1"

Index

Variables

var Codec = runtime.CodecFor(api.Scheme, "v1")

Codec encodes internal objects to the v1 scheme

Types

type LabelPreference

type LabelPreference struct {
	// Used to identify node "groups"
	Label string `json:"label"`
	// This is a boolean flag
	// If true, higher priority is given to nodes that have the label
	// If false, higher priority is given to nodes that do not have the label
	Presence bool `json:"presence"`
}

Holds the parameters that are used to configure the corresponding priority function

type LabelsPresence

type LabelsPresence struct {
	// The list of labels that identify node "groups"
	// All of the labels should be either present (or absent) for the node to be considered a fit for hosting the pod
	Labels []string `json:"labels"`
	// The boolean flag that indicates whether the labels should be present or absent from the node
	Presence bool `json:"presence"`
}

Holds the parameters that are used to configure the corresponding predicate

type Policy

type Policy struct {
	unversioned.TypeMeta `json:",inline"`
	// Holds the information to configure the fit predicate functions
	Predicates []PredicatePolicy `json:"predicates"`
	// Holds the information to configure the priority functions
	Priorities []PriorityPolicy `json:"priorities"`
}

func (*Policy) IsAnAPIObject

func (*Policy) IsAnAPIObject()

type PredicateArgument

type PredicateArgument struct {
	// The predicate that provides affinity for pods belonging to a service
	// It uses a label to identify nodes that belong to the same "group"
	ServiceAffinity *ServiceAffinity `json:"serviceAffinity"`
	// The predicate that checks whether a particular node has a certain label
	// defined or not, regardless of value
	LabelsPresence *LabelsPresence `json:"labelsPresence"`
}

Represents the arguments that the different types of predicates take Only one of its members may be specified

type PredicatePolicy

type PredicatePolicy struct {
	// Identifier of the predicate policy
	// For a custom predicate, the name can be user-defined
	// For the Kubernetes provided predicates, the name is the identifier of the pre-defined predicate
	Name string `json:"name"`
	// Holds the parameters to configure the given predicate
	Argument *PredicateArgument `json:"argument"`
}

type PriorityArgument

type PriorityArgument struct {
	// The priority function that ensures a good spread (anti-affinity) for pods belonging to a service
	// It uses a label to identify nodes that belong to the same "group"
	ServiceAntiAffinity *ServiceAntiAffinity `json:"serviceAntiAffinity"`
	// The priority function that checks whether a particular node has a certain label
	// defined or not, regardless of value
	LabelPreference *LabelPreference `json:"labelPreference"`
}

Represents the arguments that the different types of priorities take. Only one of its members may be specified

type PriorityPolicy

type PriorityPolicy struct {
	// Identifier of the priority policy
	// For a custom priority, the name can be user-defined
	// For the Kubernetes provided priority functions, the name is the identifier of the pre-defined priority function
	Name string `json:"name"`
	// The numeric multiplier for the node scores that the priority function generates
	// The weight should be non-zero and can be a positive or a negative integer
	Weight int `json:"weight"`
	// Holds the parameters to configure the given priority function
	Argument *PriorityArgument `json:"argument"`
}

type ServiceAffinity

type ServiceAffinity struct {
	// The list of labels that identify node "groups"
	// All of the labels should match for the node to be considered a fit for hosting the pod
	Labels []string `json:"labels"`
}

Holds the parameters that are used to configure the corresponding predicate

type ServiceAntiAffinity

type ServiceAntiAffinity struct {
	// Used to identify node "groups"
	Label string `json:"label"`
}

Holds the parameters that are used to configure the corresponding priority function

Source Files

register.go types.go

Version
v1.1.8
Published
Feb 23, 2016
Platform
js/wasm
Imports
3 packages
Last checked
11 seconds ago

Tools for package owners.