Documentation
¶
Overview ¶
Package api contains scheduler API objects.
Index ¶
- Constants
- Variables
- type ExtenderArgs
- type ExtenderBindingArgs
- type ExtenderBindingResult
- type ExtenderConfig
- type ExtenderFilterResult
- type ExtenderManagedResource
- type ExtenderPreemptionArgs
- type ExtenderPreemptionResult
- type ExtenderTLSConfig
- type FailedNodesMap
- type HostPriority
- type HostPriorityList
- type LabelPreference
- type LabelsPresence
- type MetaPod
- type MetaVictims
- type Policy
- type PredicateArgument
- type PredicatePolicy
- type PriorityArgument
- type PriorityPolicy
- type RequestedToCapacityRatioArguments
- type ServiceAffinity
- type ServiceAntiAffinity
- type UtilizationShapePoint
- type Victims
Constants ¶
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
)
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 ¶
var (
// SchemeBuilder defines a SchemeBuilder object.
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
// AddToScheme is used to add stored functions to scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
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.
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 ¶
func (in *ExtenderBindingResult) DeepCopy() *ExtenderBindingResult
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 ¶
func (in *ExtenderFilterResult) DeepCopy() *ExtenderFilterResult
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 ¶
func (in *ExtenderManagedResource) DeepCopy() *ExtenderManagedResource
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 ¶ added in v1.11.0
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 ¶ added in v1.11.0
func (in *ExtenderPreemptionArgs) DeepCopy() *ExtenderPreemptionArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderPreemptionArgs.
func (*ExtenderPreemptionArgs) DeepCopyInto ¶ added in v1.11.0
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 ¶ added in v1.11.0
type ExtenderPreemptionResult struct {
NodeNameToMetaVictims map[string]*MetaVictims
}
ExtenderPreemptionResult represents the result returned by preemption phase of extender.
func (*ExtenderPreemptionResult) DeepCopy ¶ added in v1.11.0
func (in *ExtenderPreemptionResult) DeepCopy() *ExtenderPreemptionResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderPreemptionResult.
func (*ExtenderPreemptionResult) DeepCopyInto ¶ added in v1.11.0
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 ¶ added in v1.14.0
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 ¶ added in v1.14.0
func (in *ExtenderTLSConfig) DeepCopy() *ExtenderTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtenderTLSConfig.
func (*ExtenderTLSConfig) DeepCopyInto ¶ added in v1.14.0
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.
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 ¶ added in v1.11.0
type MetaPod struct {
UID string
}
MetaPod represent identifier for a v1.Pod
func (*MetaPod) DeepCopy ¶ added in v1.11.0
func (in *MetaPod) DeepCopy() *MetaPod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaPod.
func (*MetaPod) DeepCopyInto ¶ added in v1.11.0
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 ¶ added in v1.11.0
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 ¶ added in v1.11.0
func (in *MetaVictims) DeepCopy() *MetaVictims
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaVictims.
func (*MetaVictims) DeepCopyInto ¶ added in v1.11.0
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 ¶ added in v1.11.0
type RequestedToCapacityRatioArguments struct {
// Array of point defining priority function shape
UtilizationShape []UtilizationShapePoint
}
RequestedToCapacityRatioArguments holds arguments specific to RequestedToCapacityRatio priority function
func (*RequestedToCapacityRatioArguments) DeepCopy ¶ added in v1.11.0
func (in *RequestedToCapacityRatioArguments) DeepCopy() *RequestedToCapacityRatioArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestedToCapacityRatioArguments.
func (*RequestedToCapacityRatioArguments) DeepCopyInto ¶ added in v1.11.0
func (in *RequestedToCapacityRatioArguments) DeepCopyInto(out *RequestedToCapacityRatioArguments)
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 ¶ added in v1.11.0
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 ¶ added in v1.11.0
func (in *UtilizationShapePoint) DeepCopy() *UtilizationShapePoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UtilizationShapePoint.
func (*UtilizationShapePoint) DeepCopyInto ¶ added in v1.11.0
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 ¶ added in v1.11.0
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 ¶ added in v1.11.0
func (in *Victims) DeepCopy() *Victims
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Victims.
func (*Victims) DeepCopyInto ¶ added in v1.11.0
func (in *Victims) DeepCopyInto(out *Victims)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package v1 contains scheduler API objects.
|
Package v1 contains scheduler API objects. |