Documentation

Overview

    Package api contains scheduler API objects.

    Index

    Constants

    View Source
    const (
    	// MaxUint defines the max unsigned int value.
    	MaxUint = ^uint(0)
    	// MaxInt defines the max signed int value.
    	MaxInt = int(MaxUint >> 1)
    	// MaxTotalPriority defines the max total priority value.
    	MaxTotalPriority = MaxInt
    	// MaxPriority defines the max priority value.
    	MaxPriority = 10
    	// MaxWeight defines the max weight value.
    	MaxWeight = MaxInt / MaxPriority
    	// DefaultPercentageOfNodesToScore defines the percentage of nodes of all nodes
    	// that once found feasible, the scheduler stops looking for more nodes.
    	DefaultPercentageOfNodesToScore = 50
    )
    View Source
    const (
    	// TaintNodeNotReady will be added when node is not ready
    	// and feature-gate for TaintBasedEvictions flag is enabled,
    	// and removed when node becomes ready.
    	TaintNodeNotReady = "node.kubernetes.io/not-ready"
    
    	// TaintNodeUnreachable will be added when node becomes unreachable
    	// (corresponding to NodeReady status ConditionUnknown)
    	// and feature-gate for TaintBasedEvictions flag is enabled,
    	// and removed when node becomes reachable (NodeReady status ConditionTrue).
    	TaintNodeUnreachable = "node.kubernetes.io/unreachable"
    
    	// TaintNodeUnschedulable will be added when node becomes unschedulable
    	// and feature-gate for TaintNodesByCondition flag is enabled,
    	// and removed when node becomes scheduable.
    	TaintNodeUnschedulable = "node.kubernetes.io/unschedulable"
    
    	// TaintNodeMemoryPressure will be added when node has memory pressure
    	// and feature-gate for TaintNodesByCondition flag is enabled,
    	// and removed when node has enough memory.
    	TaintNodeMemoryPressure = "node.kubernetes.io/memory-pressure"
    
    	// TaintNodeDiskPressure will be added when node has disk pressure
    	// and feature-gate for TaintNodesByCondition flag is enabled,
    	// and removed when node has enough disk.
    	TaintNodeDiskPressure = "node.kubernetes.io/disk-pressure"
    
    	// TaintNodeNetworkUnavailable will be added when node's network is unavailable
    	// and feature-gate for TaintNodesByCondition flag is enabled,
    	// and removed when network becomes ready.
    	TaintNodeNetworkUnavailable = "node.kubernetes.io/network-unavailable"
    
    	// TaintNodePIDPressure will be added when node has pid pressure
    	// and feature-gate for TaintNodesByCondition flag is enabled,
    	// and removed when node has enough disk.
    	TaintNodePIDPressure = "node.kubernetes.io/pid-pressure"
    
    	// TaintExternalCloudProvider sets this taint on a node to mark it as unusable,
    	// when kubelet is started with the "external" cloud provider, until a controller
    	// from the cloud-controller-manager intitializes this node, and then removes
    	// the taint
    	TaintExternalCloudProvider = "node.cloudprovider.kubernetes.io/uninitialized"
    
    	// TaintNodeShutdown when node is shutdown in external cloud provider
    	TaintNodeShutdown = "node.cloudprovider.kubernetes.io/shutdown"
    
    	// NodeFieldSelectorKeyNodeName ('metadata.name') uses this as node field selector key
    	// when selecting node by node's name.
    	NodeFieldSelectorKeyNodeName = api.ObjectNameField
    )

    Variables

    View Source
    var (
    	// SchemeBuilder defines a SchemeBuilder object.
    	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
    	// AddToScheme is used to add stored functions to scheme.
    	AddToScheme = SchemeBuilder.AddToScheme
    )
    View Source
    var Scheme = runtime.NewScheme()

      Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. TODO: remove this, scheduler should not have its own scheme.

      View Source
      var SchemeGroupVersion = schema.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

        type ExtenderArgs struct {
        	// Pod being scheduled
        	Pod *v1.Pod
        	// List of candidate nodes where the pod can be scheduled; to be populated
        	// only if ExtenderConfig.NodeCacheCapable == false
        	Nodes *v1.NodeList
        	// List of candidate node names where the pod can be scheduled; to be
        	// populated only if ExtenderConfig.NodeCacheCapable == true
        	NodeNames *[]string
        }

          ExtenderArgs represents the arguments needed by the extender to filter/prioritize nodes for a pod.

          func (*ExtenderArgs) DeepCopy

          func (in *ExtenderArgs) DeepCopy() *ExtenderArgs

            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderArgs.

            func (*ExtenderArgs) DeepCopyInto

            func (in *ExtenderArgs) DeepCopyInto(out *ExtenderArgs)

              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

              type ExtenderBindingArgs

              type ExtenderBindingArgs struct {
              	// PodName is the name of the pod being bound
              	PodName string
              	// PodNamespace is the namespace of the pod being bound
              	PodNamespace string
              	// PodUID is the UID of the pod being bound
              	PodUID types.UID
              	// Node selected by the scheduler
              	Node string
              }

                ExtenderBindingArgs represents the arguments to an extender for binding a pod to a node.

                func (*ExtenderBindingArgs) DeepCopy

                func (in *ExtenderBindingArgs) DeepCopy() *ExtenderBindingArgs

                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderBindingArgs.

                  func (*ExtenderBindingArgs) DeepCopyInto

                  func (in *ExtenderBindingArgs) DeepCopyInto(out *ExtenderBindingArgs)

                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                    type ExtenderBindingResult

                    type ExtenderBindingResult struct {
                    	// Error message indicating failure
                    	Error string
                    }

                      ExtenderBindingResult represents the result of binding of a pod to a node from an extender.

                      func (*ExtenderBindingResult) DeepCopy

                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderBindingResult.

                        func (*ExtenderBindingResult) DeepCopyInto

                        func (in *ExtenderBindingResult) DeepCopyInto(out *ExtenderBindingResult)

                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                          type ExtenderConfig

                          type ExtenderConfig struct {
                          	// URLPrefix at which the extender is available
                          	URLPrefix string
                          	// 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
                          	// Verb for the preempt call, empty if not supported. This verb is appended to the URLPrefix when issuing the preempt call to extender.
                          	PreemptVerb string
                          	// 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
                          	// The numeric multiplier for the node scores that the prioritize call generates.
                          	// The weight should be a positive integer
                          	Weight int
                          	// Verb for the bind call, empty if not supported. This verb is appended to the URLPrefix when issuing the bind call to extender.
                          	// If this method is implemented by the extender, it is the extender's responsibility to bind the pod to apiserver. Only one extender
                          	// can implement this function.
                          	BindVerb string
                          	// EnableHTTPS specifies whether https should be used to communicate with the extender
                          	EnableHTTPS bool
                          	// TLSConfig specifies the transport layer security config
                          	TLSConfig *ExtenderTLSConfig
                          	// 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
                          	// NodeCacheCapable specifies that the extender is capable of caching node information,
                          	// so the scheduler should only send minimal information about the eligible nodes
                          	// assuming that the extender already cached full details of all nodes in the cluster
                          	NodeCacheCapable bool
                          	// ManagedResources is a list of extended resources that are managed by
                          	// this extender.
                          	// - A pod will be sent to the extender on the Filter, Prioritize and Bind
                          	//   (if the extender is the binder) phases iff the pod requests at least
                          	//   one of the extended resources in this list. If empty or unspecified,
                          	//   all pods will be sent to this extender.
                          	// - If IgnoredByScheduler is set to true for a resource, kube-scheduler
                          	//   will skip checking the resource in predicates.
                          	// +optional
                          	ManagedResources []ExtenderManagedResource
                          	// Ignorable specifies if the extender is ignorable, i.e. scheduling should not
                          	// fail when the extender returns an error or is not reachable.
                          	Ignorable bool
                          }

                            ExtenderConfig 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.

                            func (*ExtenderConfig) DeepCopy

                            func (in *ExtenderConfig) DeepCopy() *ExtenderConfig

                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderConfig.

                              func (*ExtenderConfig) DeepCopyInto

                              func (in *ExtenderConfig) DeepCopyInto(out *ExtenderConfig)

                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                type ExtenderFilterResult

                                type ExtenderFilterResult struct {
                                	// Filtered set of nodes where the pod can be scheduled; to be populated
                                	// only if ExtenderConfig.NodeCacheCapable == false
                                	Nodes *v1.NodeList
                                	// Filtered set of nodes where the pod can be scheduled; to be populated
                                	// only if ExtenderConfig.NodeCacheCapable == true
                                	NodeNames *[]string
                                	// Filtered out nodes where the pod can't be scheduled and the failure messages
                                	FailedNodes FailedNodesMap
                                	// Error message indicating failure
                                	Error string
                                }

                                  ExtenderFilterResult represents the results of a filter call to an extender

                                  func (*ExtenderFilterResult) DeepCopy

                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderFilterResult.

                                    func (*ExtenderFilterResult) DeepCopyInto

                                    func (in *ExtenderFilterResult) DeepCopyInto(out *ExtenderFilterResult)

                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                      type ExtenderManagedResource

                                      type ExtenderManagedResource struct {
                                      	// Name is the extended resource name.
                                      	Name v1.ResourceName
                                      	// IgnoredByScheduler indicates whether kube-scheduler should ignore this
                                      	// resource when applying predicates.
                                      	IgnoredByScheduler bool
                                      }

                                        ExtenderManagedResource describes the arguments of extended resources managed by an extender.

                                        func (*ExtenderManagedResource) DeepCopy

                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderManagedResource.

                                          func (*ExtenderManagedResource) DeepCopyInto

                                          func (in *ExtenderManagedResource) DeepCopyInto(out *ExtenderManagedResource)

                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                            type ExtenderPreemptionArgs

                                            type ExtenderPreemptionArgs struct {
                                            	// Pod being scheduled
                                            	Pod *v1.Pod
                                            	// Victims map generated by scheduler preemption phase
                                            	// Only set NodeNameToMetaVictims if ExtenderConfig.NodeCacheCapable == true. Otherwise, only set NodeNameToVictims.
                                            	NodeNameToVictims     map[string]*Victims
                                            	NodeNameToMetaVictims map[string]*MetaVictims
                                            }

                                              ExtenderPreemptionArgs represents the arguments needed by the extender to preempt pods on nodes.

                                              func (*ExtenderPreemptionArgs) DeepCopy

                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderPreemptionArgs.

                                                func (*ExtenderPreemptionArgs) DeepCopyInto

                                                func (in *ExtenderPreemptionArgs) DeepCopyInto(out *ExtenderPreemptionArgs)

                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                  type ExtenderPreemptionResult

                                                  type ExtenderPreemptionResult struct {
                                                  	NodeNameToMetaVictims map[string]*MetaVictims
                                                  }

                                                    ExtenderPreemptionResult represents the result returned by preemption phase of extender.

                                                    func (*ExtenderPreemptionResult) DeepCopy

                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderPreemptionResult.

                                                      func (*ExtenderPreemptionResult) DeepCopyInto

                                                      func (in *ExtenderPreemptionResult) DeepCopyInto(out *ExtenderPreemptionResult)

                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                        type ExtenderTLSConfig

                                                        type ExtenderTLSConfig struct {
                                                        	// Server should be accessed without verifying the TLS certificate. For testing only.
                                                        	Insecure bool
                                                        	// ServerName is passed to the server for SNI and is used in the client to check server
                                                        	// certificates against. If ServerName is empty, the hostname used to contact the
                                                        	// server is used.
                                                        	ServerName string
                                                        
                                                        	// Server requires TLS client certificate authentication
                                                        	CertFile string
                                                        	// Server requires TLS client certificate authentication
                                                        	KeyFile string
                                                        	// Trusted root certificates for server
                                                        	CAFile string
                                                        
                                                        	// CertData holds PEM-encoded bytes (typically read from a client certificate file).
                                                        	// CertData takes precedence over CertFile
                                                        	CertData []byte
                                                        	// KeyData holds PEM-encoded bytes (typically read from a client certificate key file).
                                                        	// KeyData takes precedence over KeyFile
                                                        	KeyData []byte
                                                        	// CAData holds PEM-encoded bytes (typically read from a root certificates bundle).
                                                        	// CAData takes precedence over CAFile
                                                        	CAData []byte
                                                        }

                                                          ExtenderTLSConfig contains settings to enable TLS with extender

                                                          func (*ExtenderTLSConfig) DeepCopy

                                                          func (in *ExtenderTLSConfig) DeepCopy() *ExtenderTLSConfig

                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderTLSConfig.

                                                            func (*ExtenderTLSConfig) DeepCopyInto

                                                            func (in *ExtenderTLSConfig) DeepCopyInto(out *ExtenderTLSConfig)

                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                              type FailedNodesMap

                                                              type FailedNodesMap map[string]string

                                                                FailedNodesMap represents the filtered out nodes, with node names and failure messages

                                                                func (FailedNodesMap) DeepCopy

                                                                func (in FailedNodesMap) DeepCopy() FailedNodesMap

                                                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailedNodesMap.

                                                                  func (FailedNodesMap) DeepCopyInto

                                                                  func (in FailedNodesMap) DeepCopyInto(out *FailedNodesMap)

                                                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                    type HostPriority

                                                                    type HostPriority struct {
                                                                    	// Name of the host
                                                                    	Host string
                                                                    	// Score associated with the host
                                                                    	Score int
                                                                    }

                                                                      HostPriority represents the priority of scheduling to a particular host, higher priority is better.

                                                                      func (*HostPriority) DeepCopy

                                                                      func (in *HostPriority) DeepCopy() *HostPriority

                                                                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPriority.

                                                                        func (*HostPriority) DeepCopyInto

                                                                        func (in *HostPriority) DeepCopyInto(out *HostPriority)

                                                                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                          type HostPriorityList

                                                                          type HostPriorityList []HostPriority

                                                                            HostPriorityList declares a []HostPriority type.

                                                                            func (HostPriorityList) DeepCopy

                                                                            func (in HostPriorityList) DeepCopy() HostPriorityList

                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPriorityList.

                                                                              func (HostPriorityList) DeepCopyInto

                                                                              func (in HostPriorityList) DeepCopyInto(out *HostPriorityList)

                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                func (HostPriorityList) Len

                                                                                func (h HostPriorityList) Len() int

                                                                                func (HostPriorityList) Less

                                                                                func (h HostPriorityList) Less(i, j int) bool

                                                                                func (HostPriorityList) Swap

                                                                                func (h HostPriorityList) Swap(i, j int)

                                                                                type LabelPreference

                                                                                type LabelPreference struct {
                                                                                	// Used to identify node "groups"
                                                                                	Label string
                                                                                	// 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
                                                                                }

                                                                                  LabelPreference holds the parameters that are used to configure the corresponding priority function

                                                                                  func (*LabelPreference) DeepCopy

                                                                                  func (in *LabelPreference) DeepCopy() *LabelPreference

                                                                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelPreference.

                                                                                    func (*LabelPreference) DeepCopyInto

                                                                                    func (in *LabelPreference) DeepCopyInto(out *LabelPreference)

                                                                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                      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
                                                                                      	// The boolean flag that indicates whether the labels should be present or absent from the node
                                                                                      	Presence bool
                                                                                      }

                                                                                        LabelsPresence holds the parameters that are used to configure the corresponding predicate in scheduler policy configuration.

                                                                                        func (*LabelsPresence) DeepCopy

                                                                                        func (in *LabelsPresence) DeepCopy() *LabelsPresence

                                                                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsPresence.

                                                                                          func (*LabelsPresence) DeepCopyInto

                                                                                          func (in *LabelsPresence) DeepCopyInto(out *LabelsPresence)

                                                                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                            type MetaPod

                                                                                            type MetaPod struct {
                                                                                            	UID string
                                                                                            }

                                                                                              MetaPod represent identifier for a v1.Pod

                                                                                              func (*MetaPod) DeepCopy

                                                                                              func (in *MetaPod) DeepCopy() *MetaPod

                                                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaPod.

                                                                                                func (*MetaPod) DeepCopyInto

                                                                                                func (in *MetaPod) DeepCopyInto(out *MetaPod)

                                                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                  type MetaVictims

                                                                                                  type MetaVictims struct {
                                                                                                  	Pods             []*MetaPod
                                                                                                  	NumPDBViolations int
                                                                                                  }

                                                                                                    MetaVictims represents:

                                                                                                    pods:  a group of pods expected to be preempted.
                                                                                                      Only Pod identifiers will be sent and user are expect to get v1.Pod in their own way.
                                                                                                    numPDBViolations: the count of violations of PodDisruptionBudget
                                                                                                    

                                                                                                    func (*MetaVictims) DeepCopy

                                                                                                    func (in *MetaVictims) DeepCopy() *MetaVictims

                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaVictims.

                                                                                                      func (*MetaVictims) DeepCopyInto

                                                                                                      func (in *MetaVictims) DeepCopyInto(out *MetaVictims)

                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                        type Policy

                                                                                                        type Policy struct {
                                                                                                        	metav1.TypeMeta
                                                                                                        	// Holds the information to configure the fit predicate functions.
                                                                                                        	// If unspecified, the default predicate functions will be applied.
                                                                                                        	// If empty list, all predicates (except the mandatory ones) will be
                                                                                                        	// bypassed.
                                                                                                        	Predicates []PredicatePolicy
                                                                                                        	// Holds the information to configure the priority functions.
                                                                                                        	// If unspecified, the default priority functions will be applied.
                                                                                                        	// If empty list, all priority functions will be bypassed.
                                                                                                        	Priorities []PriorityPolicy
                                                                                                        	// Holds the information to communicate with the extender(s)
                                                                                                        	ExtenderConfigs []ExtenderConfig
                                                                                                        	// RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule
                                                                                                        	// corresponding to every RequiredDuringScheduling affinity rule.
                                                                                                        	// HardPodAffinitySymmetricWeight represents the weight of implicit PreferredDuringScheduling affinity rule, in the range 1-100.
                                                                                                        	HardPodAffinitySymmetricWeight int32
                                                                                                        
                                                                                                        	// When AlwaysCheckAllPredicates is set to true, scheduler checks all
                                                                                                        	// the configured predicates even after one or more of them fails.
                                                                                                        	// When the flag is set to false, scheduler skips checking the rest
                                                                                                        	// of the predicates after it finds one predicate that failed.
                                                                                                        	AlwaysCheckAllPredicates bool
                                                                                                        }

                                                                                                          Policy describes a struct of a policy resource in api.

                                                                                                          func (*Policy) DeepCopy

                                                                                                          func (in *Policy) DeepCopy() *Policy

                                                                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.

                                                                                                            func (*Policy) DeepCopyInto

                                                                                                            func (in *Policy) DeepCopyInto(out *Policy)

                                                                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                              func (*Policy) DeepCopyObject

                                                                                                              func (in *Policy) DeepCopyObject() runtime.Object

                                                                                                                DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

                                                                                                                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
                                                                                                                	// The predicate that checks whether a particular node has a certain label
                                                                                                                	// defined or not, regardless of value
                                                                                                                	LabelsPresence *LabelsPresence
                                                                                                                }

                                                                                                                  PredicateArgument represents the arguments to configure predicate functions in scheduler policy configuration. Only one of its members may be specified

                                                                                                                  func (*PredicateArgument) DeepCopy

                                                                                                                  func (in *PredicateArgument) DeepCopy() *PredicateArgument

                                                                                                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredicateArgument.

                                                                                                                    func (*PredicateArgument) DeepCopyInto

                                                                                                                    func (in *PredicateArgument) DeepCopyInto(out *PredicateArgument)

                                                                                                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                      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
                                                                                                                      	// Holds the parameters to configure the given predicate
                                                                                                                      	Argument *PredicateArgument
                                                                                                                      }

                                                                                                                        PredicatePolicy describes a struct of a predicate policy.

                                                                                                                        func (*PredicatePolicy) DeepCopy

                                                                                                                        func (in *PredicatePolicy) DeepCopy() *PredicatePolicy

                                                                                                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredicatePolicy.

                                                                                                                          func (*PredicatePolicy) DeepCopyInto

                                                                                                                          func (in *PredicatePolicy) DeepCopyInto(out *PredicatePolicy)

                                                                                                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                            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
                                                                                                                            	// The priority function that checks whether a particular node has a certain label
                                                                                                                            	// defined or not, regardless of value
                                                                                                                            	LabelPreference *LabelPreference
                                                                                                                            	// The RequestedToCapacityRatio priority function is parametrized with function shape.
                                                                                                                            	RequestedToCapacityRatioArguments *RequestedToCapacityRatioArguments
                                                                                                                            }

                                                                                                                              PriorityArgument represents the arguments to configure priority functions in scheduler policy configuration. Only one of its members may be specified

                                                                                                                              func (*PriorityArgument) DeepCopy

                                                                                                                              func (in *PriorityArgument) DeepCopy() *PriorityArgument

                                                                                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityArgument.

                                                                                                                                func (*PriorityArgument) DeepCopyInto

                                                                                                                                func (in *PriorityArgument) DeepCopyInto(out *PriorityArgument)

                                                                                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                  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
                                                                                                                                  	// The numeric multiplier for the node scores that the priority function generates
                                                                                                                                  	// The weight should be a positive integer
                                                                                                                                  	Weight int
                                                                                                                                  	// Holds the parameters to configure the given priority function
                                                                                                                                  	Argument *PriorityArgument
                                                                                                                                  }

                                                                                                                                    PriorityPolicy describes a struct of a priority policy.

                                                                                                                                    func (*PriorityPolicy) DeepCopy

                                                                                                                                    func (in *PriorityPolicy) DeepCopy() *PriorityPolicy

                                                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityPolicy.

                                                                                                                                      func (*PriorityPolicy) DeepCopyInto

                                                                                                                                      func (in *PriorityPolicy) DeepCopyInto(out *PriorityPolicy)

                                                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                        type RequestedToCapacityRatioArguments

                                                                                                                                        type RequestedToCapacityRatioArguments struct {
                                                                                                                                        	// Array of point defining priority function shape
                                                                                                                                        	UtilizationShape []UtilizationShapePoint
                                                                                                                                        }

                                                                                                                                          RequestedToCapacityRatioArguments holds arguments specific to RequestedToCapacityRatio priority function

                                                                                                                                          func (*RequestedToCapacityRatioArguments) DeepCopy

                                                                                                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestedToCapacityRatioArguments.

                                                                                                                                            func (*RequestedToCapacityRatioArguments) DeepCopyInto

                                                                                                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                              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
                                                                                                                                              }

                                                                                                                                                ServiceAffinity holds the parameters that are used to configure the corresponding predicate in scheduler policy configuration.

                                                                                                                                                func (*ServiceAffinity) DeepCopy

                                                                                                                                                func (in *ServiceAffinity) DeepCopy() *ServiceAffinity

                                                                                                                                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAffinity.

                                                                                                                                                  func (*ServiceAffinity) DeepCopyInto

                                                                                                                                                  func (in *ServiceAffinity) DeepCopyInto(out *ServiceAffinity)

                                                                                                                                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                    type ServiceAntiAffinity

                                                                                                                                                    type ServiceAntiAffinity struct {
                                                                                                                                                    	// Used to identify node "groups"
                                                                                                                                                    	Label string
                                                                                                                                                    }

                                                                                                                                                      ServiceAntiAffinity holds the parameters that are used to configure the corresponding priority function

                                                                                                                                                      func (*ServiceAntiAffinity) DeepCopy

                                                                                                                                                      func (in *ServiceAntiAffinity) DeepCopy() *ServiceAntiAffinity

                                                                                                                                                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAntiAffinity.

                                                                                                                                                        func (*ServiceAntiAffinity) DeepCopyInto

                                                                                                                                                        func (in *ServiceAntiAffinity) DeepCopyInto(out *ServiceAntiAffinity)

                                                                                                                                                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                          type UtilizationShapePoint

                                                                                                                                                          type UtilizationShapePoint struct {
                                                                                                                                                          	// Utilization (x axis). Valid values are 0 to 100. Fully utilized node maps to 100.
                                                                                                                                                          	Utilization int
                                                                                                                                                          	// Score assigned to given utilization (y axis). Valid values are 0 to 10.
                                                                                                                                                          	Score int
                                                                                                                                                          }

                                                                                                                                                            UtilizationShapePoint represents single point of priority function shape

                                                                                                                                                            func (*UtilizationShapePoint) DeepCopy

                                                                                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UtilizationShapePoint.

                                                                                                                                                              func (*UtilizationShapePoint) DeepCopyInto

                                                                                                                                                              func (in *UtilizationShapePoint) DeepCopyInto(out *UtilizationShapePoint)

                                                                                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                type Victims

                                                                                                                                                                type Victims struct {
                                                                                                                                                                	Pods             []*v1.Pod
                                                                                                                                                                	NumPDBViolations int
                                                                                                                                                                }

                                                                                                                                                                  Victims represents:

                                                                                                                                                                  pods:  a group of pods expected to be preempted.
                                                                                                                                                                  numPDBViolations: the count of violations of PodDisruptionBudget
                                                                                                                                                                  

                                                                                                                                                                  func (*Victims) DeepCopy

                                                                                                                                                                  func (in *Victims) DeepCopy() *Victims

                                                                                                                                                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Victims.

                                                                                                                                                                    func (*Victims) DeepCopyInto

                                                                                                                                                                    func (in *Victims) DeepCopyInto(out *Victims)

                                                                                                                                                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                      Directories

                                                                                                                                                                      Path Synopsis
                                                                                                                                                                      Package v1 contains scheduler API objects.
                                                                                                                                                                      Package v1 contains scheduler API objects.