 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
var Scheme = runtime.NewScheme()
    Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: runtime.APIVersionInternal}
    SchemeGroupVersion is group version used to register these objects TODO this should be in the "scheduler" group
Functions ¶
This section is empty.
Types ¶
type ExtenderArgs ¶ added in v1.2.0
type ExtenderArgs struct {
	// Pod being scheduled
	Pod api.Pod `json:"pod"`
	// List of candidate nodes where the pod can be scheduled
	Nodes api.NodeList `json:"nodes"`
}
    ExtenderArgs represents the arguments needed by the extender to filter/prioritize nodes for a pod.
type ExtenderConfig ¶ added in v1.2.0
type ExtenderConfig struct {
	// URLPrefix at which the extender is available
	URLPrefix string `json:"urlPrefix"`
	// Verb for the filter call, empty if not supported. This verb is appended to the URLPrefix when issuing the filter call to extender.
	FilterVerb string `json:"filterVerb,omitempty"`
	// Verb for the prioritize call, empty if not supported. This verb is appended to the URLPrefix when issuing the prioritize call to extender.
	PrioritizeVerb string `json:"prioritizeVerb,omitempty"`
	// The numeric multiplier for the node scores that the prioritize call generates.
	// The weight should be a positive integer
	Weight int `json:"weight,omitempty"`
	// EnableHttps specifies whether https should be used to communicate with the extender
	EnableHttps bool `json:"enableHttps,omitempty"`
	// TLSConfig specifies the transport layer security config
	TLSConfig *restclient.TLSClientConfig `json:"tlsConfig,omitempty"`
	// HTTPTimeout specifies the timeout duration for a call to the extender. Filter timeout fails the scheduling of the pod. Prioritize
	// timeout is ignored, k8s/other extenders priorities are used to select the node.
	HTTPTimeout time.Duration `json:"httpTimeout,omitempty"`
}
    Holds the parameters used to communicate with the extender. If a verb is unspecified/empty, it is assumed that the extender chose not to provide that extension.
type ExtenderFilterResult ¶ added in v1.2.0
type ExtenderFilterResult struct {
	// Filtered set of nodes where the pod can be scheduled
	Nodes api.NodeList `json:"nodes,omitempty"`
	// Error message indicating failure
	Error string `json:"error,omitempty"`
}
    ExtenderFilterResult represents the results of a filter call to an extender
type HostPriority ¶ added in v1.2.0
type HostPriority struct {
	// Name of the host
	Host string `json:"host"`
	// Score associated with the host
	Score int `json:"score"`
}
    HostPriority represents the priority of scheduling to a particular host, higher priority is better.
type HostPriorityList ¶ added in v1.2.0
type HostPriorityList []HostPriority
func (HostPriorityList) Len ¶ added in v1.2.0
func (h HostPriorityList) Len() int
func (HostPriorityList) Less ¶ added in v1.2.0
func (h HostPriorityList) Less(i, j int) bool
func (HostPriorityList) Swap ¶ added in v1.2.0
func (h HostPriorityList) Swap(i, j int)
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"`
	// Holds the information to communicate with the extender(s)
	ExtenderConfigs []ExtenderConfig `json:"extenders"`
}
    func (*Policy) GetObjectKind ¶ added in v1.2.0
func (obj *Policy) GetObjectKind() unversioned.ObjectKind
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 a positive 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