Documentation
¶
Overview ¶
Package config of the API.
Index ¶
- Constants
- Variables
- type CPUBindPolicy
- type CPUExclusivePolicy
- type CoschedulingArgs
- type DeviceShareArgs
- type ElasticQuotaArgs
- type GPUShareUnsupportedModel
- type GPUSharedResourceTemplatesConfig
- type HookPluginConf
- type LoadAwareSchedulingAggregatedArgs
- type LoadAwareSchedulingArgs
- type NUMAAllocateStrategy
- type NodeNUMAResourceArgs
- type NodeResourcesFitPlusArgs
- type PreAllocationConfig
- type ReservationArgs
- type ResourcesType
- type ScarceResourceAvoidanceArgs
- type SchedulingHintArgs
- type ScoringStrategy
- type ScoringStrategyType
Constants ¶
const ( // CPUBindPolicyDefault performs the default bind policy that specified in koord-scheduler configuration CPUBindPolicyDefault = CPUBindPolicy(extension.CPUBindPolicyDefault) // CPUBindPolicyFullPCPUs favor cpuset allocation that pack in few physical cores CPUBindPolicyFullPCPUs = CPUBindPolicy(extension.CPUBindPolicyFullPCPUs) // CPUBindPolicySpreadByPCPUs favor cpuset allocation that evenly allocate logical cpus across physical cores CPUBindPolicySpreadByPCPUs = CPUBindPolicy(extension.CPUBindPolicySpreadByPCPUs) // CPUBindPolicyConstrainedBurst constrains the CPU Shared Pool range of the Burstable Pod CPUBindPolicyConstrainedBurst = CPUBindPolicy(extension.CPUBindPolicyConstrainedBurst) )
Variables ¶
var (
// AddToScheme is a global function that registers this API group & version to a scheme
AddToScheme = localSchemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{Group: schedconfig.GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
This section is empty.
Types ¶
type CPUBindPolicy ¶ added in v1.0.0
type CPUBindPolicy = string
CPUBindPolicy defines the CPU binding policy
type CPUExclusivePolicy ¶ added in v1.0.0
type CPUExclusivePolicy = extension.CPUExclusivePolicy
const ( // CPUExclusivePolicyNone does not perform any exclusive policy CPUExclusivePolicyNone CPUExclusivePolicy = extension.CPUExclusivePolicyNone // CPUExclusivePolicyPCPULevel represents mutual exclusion in the physical core dimension CPUExclusivePolicyPCPULevel CPUExclusivePolicy = extension.CPUExclusivePolicyPCPULevel // CPUExclusivePolicyNUMANodeLevel indicates mutual exclusion in the NUMA topology dimension CPUExclusivePolicyNUMANodeLevel CPUExclusivePolicy = extension.CPUExclusivePolicyNUMANodeLevel )
type CoschedulingArgs ¶ added in v1.0.0
type CoschedulingArgs struct {
metav1.TypeMeta
// DefaultTimeout is the default gang's waiting time in Permit stage
// default is 600 seconds
DefaultTimeout metav1.Duration
// Workers number of controller
// default is 1
ControllerWorkers int64
// Skip check schedule cycle [Deprecated]
// default is false
SkipCheckScheduleCycle bool
// EnablePreemption indicates whether to enable preemption for coscheduling.
// default is false
EnablePreemption *bool `json:"enablePreemption,omitempty"`
// AwareNetworkTopology indicates whether to make coscheduling network topology aware.
// default is false
AwareNetworkTopology *bool `json:"awareNetworkTopology,omitempty"`
// DefaultMatchPolicy indicates the default match policy for gang scheduling.
// default is "once-satisfied"
DefaultMatchPolicy string `json:"defaultMatchPolicy,omitempty"`
}
CoschedulingArgs defines the parameters for Gang Scheduling plugin.
func (*CoschedulingArgs) DeepCopy ¶ added in v1.0.0
func (in *CoschedulingArgs) DeepCopy() *CoschedulingArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoschedulingArgs.
func (*CoschedulingArgs) DeepCopyInto ¶ added in v1.0.0
func (in *CoschedulingArgs) DeepCopyInto(out *CoschedulingArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CoschedulingArgs) DeepCopyObject ¶ added in v1.0.0
func (in *CoschedulingArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeviceShareArgs ¶ added in v1.2.0
type DeviceShareArgs struct {
// Deprecated: Adapting to different allocators is no longer supported.
Allocator string
ScoringStrategy *ScoringStrategy
DisableDeviceNUMATopologyAlignment bool
GPUSharedResourceTemplatesConfig *GPUSharedResourceTemplatesConfig
// Pods requesting gpu.shared resources will be filtered out from nodes matching any of these models.
GPUShareUnsupportedModels []GPUShareUnsupportedModel
}
DeviceShareArgs defines the parameters for DeviceShare plugin.
func (*DeviceShareArgs) DeepCopy ¶ added in v1.2.0
func (in *DeviceShareArgs) DeepCopy() *DeviceShareArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceShareArgs.
func (*DeviceShareArgs) DeepCopyInto ¶ added in v1.2.0
func (in *DeviceShareArgs) DeepCopyInto(out *DeviceShareArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeviceShareArgs) DeepCopyObject ¶ added in v1.2.0
func (in *DeviceShareArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ElasticQuotaArgs ¶ added in v1.0.0
type ElasticQuotaArgs struct {
metav1.TypeMeta
// DelayEvictTime is the duration to handle the jitter of used and runtime
DelayEvictTime metav1.Duration
// RevokePodInterval is the interval to check quotaGroup's used and runtime
RevokePodInterval metav1.Duration
// DefaultQuotaGroupMax limit the maxQuota of DefaultQuotaGroup
DefaultQuotaGroupMax corev1.ResourceList
// SystemQuotaGroupMax limit the maxQuota of SystemQuotaGroup
SystemQuotaGroupMax corev1.ResourceList
// QuotaGroupNamespace is the namespace of the DefaultQuotaGroup/SystemQuotaGroup
QuotaGroupNamespace string
// MonitorAllQuotas monitor the quotaGroups' used and runtime Quota to revoke pods
MonitorAllQuotas bool
// EnableCheckParentQuota check parentQuotaGroups' used and runtime Quota in PreFilter
EnableCheckParentQuota bool
// EnableRuntimeQuota if false, use max instead of runtime for all checks.
EnableRuntimeQuota bool
// EnableMinQuotaScale if true, min will be scaled when minQuotaSum > totalRes.
EnableMinQuotaScale bool
// DisableDefaultQuotaPreemption if true, will not preempt pods in default quota.
DisableDefaultQuotaPreemption bool
// EnableQueueHint if true, enables QueueHint optimization to filter unnecessary pod re-queuing events.
EnableQueueHint bool
// QuotaSnapshotUpdateInterval is the interval to update quota snapshot for QueueHint optimization.
// Defaults to 120 seconds if unspecified.
QuotaSnapshotUpdateInterval metav1.Duration
// HookPlugins is expected to be configured with enabled hook plugins
HookPlugins []HookPluginConf
}
ElasticQuotaArgs holds arguments used to configure the ElasticQuota plugin.
func (*ElasticQuotaArgs) DeepCopy ¶ added in v1.0.0
func (in *ElasticQuotaArgs) DeepCopy() *ElasticQuotaArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticQuotaArgs.
func (*ElasticQuotaArgs) DeepCopyInto ¶ added in v1.0.0
func (in *ElasticQuotaArgs) DeepCopyInto(out *ElasticQuotaArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ElasticQuotaArgs) DeepCopyObject ¶ added in v1.0.0
func (in *ElasticQuotaArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GPUShareUnsupportedModel ¶ added in v1.8.0
GPUShareUnsupportedModel identifies a GPU model that does not support GPU sharing.
func (*GPUShareUnsupportedModel) DeepCopy ¶ added in v1.8.0
func (in *GPUShareUnsupportedModel) DeepCopy() *GPUShareUnsupportedModel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPUShareUnsupportedModel.
func (*GPUShareUnsupportedModel) DeepCopyInto ¶ added in v1.8.0
func (in *GPUShareUnsupportedModel) DeepCopyInto(out *GPUShareUnsupportedModel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GPUSharedResourceTemplatesConfig ¶ added in v1.6.1
type GPUSharedResourceTemplatesConfig struct {
ConfigMapNamespace string
ConfigMapName string
// If a GPU shared pod requests any of the matched resources,
// all of its requested GPU resources would be matched for GPU shared resource templates.
MatchedResources []corev1.ResourceName
}
func (*GPUSharedResourceTemplatesConfig) DeepCopy ¶ added in v1.6.1
func (in *GPUSharedResourceTemplatesConfig) DeepCopy() *GPUSharedResourceTemplatesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPUSharedResourceTemplatesConfig.
func (*GPUSharedResourceTemplatesConfig) DeepCopyInto ¶ added in v1.6.1
func (in *GPUSharedResourceTemplatesConfig) DeepCopyInto(out *GPUSharedResourceTemplatesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookPluginConf ¶ added in v1.6.1
type HookPluginConf struct {
// Key is the key of the hook plugin
Key string
// FactoryKey is the key of the hook plugin factory
FactoryKey string
// FactoryArgs is the arguments of the hook plugin factory
FactoryArgs string
}
HookPluginConf define configuration for a single hook plugin
func (*HookPluginConf) DeepCopy ¶ added in v1.6.1
func (in *HookPluginConf) DeepCopy() *HookPluginConf
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HookPluginConf.
func (*HookPluginConf) DeepCopyInto ¶ added in v1.6.1
func (in *HookPluginConf) DeepCopyInto(out *HookPluginConf)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadAwareSchedulingAggregatedArgs ¶ added in v1.1.0
type LoadAwareSchedulingAggregatedArgs struct {
// UsageThresholds indicates the resource utilization threshold of the machine based on percentile statistics
UsageThresholds map[corev1.ResourceName]int64
// UsageAggregationType indicates the percentile type of the machine's utilization when filtering
// If enabled, only one of the slov1alpha1.AggregationType definitions can be used.
UsageAggregationType extension.AggregationType
// UsageAggregatedDuration indicates the statistical period of the percentile of the machine's utilization when filtering
// If no specific period is set, the maximum period recorded by NodeMetrics will be used by default.
UsageAggregatedDuration metav1.Duration
// ScoreAggregationType indicates the percentile type of the machine's utilization when scoring
// If enabled, only one of the slov1alpha1.AggregationType definitions can be used.
ScoreAggregationType extension.AggregationType
// ScoreAggregatedDuration indicates the statistical period of the percentile of Prod Pod's utilization when scoring
// If no specific period is set, the maximum period recorded by NodeMetrics will be used by default.
ScoreAggregatedDuration metav1.Duration
}
func (*LoadAwareSchedulingAggregatedArgs) DeepCopy ¶ added in v1.1.0
func (in *LoadAwareSchedulingAggregatedArgs) DeepCopy() *LoadAwareSchedulingAggregatedArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadAwareSchedulingAggregatedArgs.
func (*LoadAwareSchedulingAggregatedArgs) DeepCopyInto ¶ added in v1.1.0
func (in *LoadAwareSchedulingAggregatedArgs) DeepCopyInto(out *LoadAwareSchedulingAggregatedArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadAwareSchedulingArgs ¶
type LoadAwareSchedulingArgs struct {
metav1.TypeMeta
// FilterExpiredNodeMetrics indicates whether to filter nodes where koordlet fails to update NodeMetric.
// Deprecated: NodeMetric should always be checked for expiration.
FilterExpiredNodeMetrics *bool
// NodeMetricExpirationSeconds indicates the NodeMetric expiration in seconds.
// When NodeMetrics expired, the node is considered abnormal.
// Default is 180 seconds.
NodeMetricExpirationSeconds *int64
// EnableScheduleWhenNodeMetricsExpired Indicates whether nodes with expired nodeMetrics are allowed to schedule pods.
EnableScheduleWhenNodeMetricsExpired *bool
// ResourceWeights indicates the weights of resources.
// The weights of CPU and Memory are both 1 by default.
ResourceWeights map[corev1.ResourceName]int64
// DominantResourceWeight indicates the weight of the dominant resource.
// Dominant resource is the resource with the maximum utilization, which is based on the concept of Dominant Resource Fairness.
DominantResourceWeight int64
// UsageThresholds indicates the resource utilization threshold of the whole machine.
// The default for CPU is 65%, and the default for memory is 95%.
UsageThresholds map[corev1.ResourceName]int64
// ProdUsageThresholds indicates the resource utilization threshold of Prod Pods compared to the whole machine.
// Not enabled by default
ProdUsageThresholds map[corev1.ResourceName]int64
// ProdUsageIncludeSys indicates whether to include system usage (not used by pods)
// when summing up current usage for prod pods.
ProdUsageIncludeSys bool
// ScoreAccordingProdUsage controls whether to score according to the utilization of Prod Pod
ScoreAccordingProdUsage bool
// Estimator indicates the expected Estimator to use
Estimator string
// EstimatedScalingFactors indicates the factor when estimating resource usage.
// The default value of CPU is 85%, and the default value of Memory is 70%.
EstimatedScalingFactors map[corev1.ResourceName]int64
// EstimatedSecondsAfterPodScheduled indicates the force estimation duration
// after pod condition PodScheduled transition to True in seconds.
EstimatedSecondsAfterPodScheduled *int64
// EstimatedSecondsAfterInitialized indicates the force estimation duration
// after pod condition Initialized transition to True in seconds.
EstimatedSecondsAfterInitialized *int64
// AllowCustomizeEstimation indicates whether to allow reading estimation args from pod's metadata.
AllowCustomizeEstimation bool
// Aggregated supports resource utilization filtering and scoring based on percentile statistics
Aggregated *LoadAwareSchedulingAggregatedArgs
// SupportedResourceNames is the list of extra resource names that can be used in load-aware scheduling.
// cpu, memory and all other resources that show up in args are supported by default.
//
// If more resource are added in collection, don't show up as
// filter thresholds or score weights in plugin args
// and only set up in custom node annotations,
// we should pass these resource names in plugin args explicitly.
SupportedResources []corev1.ResourceName
}
LoadAwareSchedulingArgs holds arguments used to configure the LoadAwareScheduling plugin.
func (*LoadAwareSchedulingArgs) DeepCopy ¶
func (in *LoadAwareSchedulingArgs) DeepCopy() *LoadAwareSchedulingArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadAwareSchedulingArgs.
func (*LoadAwareSchedulingArgs) DeepCopyInto ¶
func (in *LoadAwareSchedulingArgs) DeepCopyInto(out *LoadAwareSchedulingArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadAwareSchedulingArgs) DeepCopyObject ¶
func (in *LoadAwareSchedulingArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NUMAAllocateStrategy ¶ added in v1.0.0
type NUMAAllocateStrategy = extension.NUMAAllocateStrategy
NUMAAllocateStrategy indicates how to choose satisfied NUMA Nodes during binding CPUs
const ( // NUMAMostAllocated indicates that allocates from the NUMA Node with the least amount of available resource. NUMAMostAllocated NUMAAllocateStrategy = extension.NUMAMostAllocated // NUMALeastAllocated indicates that allocates from the NUMA Node with the most amount of available resource. NUMALeastAllocated NUMAAllocateStrategy = extension.NUMALeastAllocated // NUMADistributeEvenly indicates that evenly distribute CPUs across NUMA Nodes. NUMADistributeEvenly NUMAAllocateStrategy = extension.NUMADistributeEvenly )
type NodeNUMAResourceArgs ¶ added in v1.0.0
type NodeNUMAResourceArgs struct {
metav1.TypeMeta
// DefaultCPUBindPolicy represents the default CPU bind policy.
// If it is empty and the Pod does not declare a binding policy,
// the core will not be bound to the LSE/LSR type Pod.
DefaultCPUBindPolicy CPUBindPolicy
// ScoringStrategy is used to configure the scoring strategy of the Node-level.
ScoringStrategy *ScoringStrategy
// NUMAScoringStrategy is used to configure the scoring strategy of the NUMANode-level
NUMAScoringStrategy *ScoringStrategy
}
NodeNUMAResourceArgs holds arguments used to configure the NodeNUMAResource plugin.
func (*NodeNUMAResourceArgs) DeepCopy ¶ added in v1.0.0
func (in *NodeNUMAResourceArgs) DeepCopy() *NodeNUMAResourceArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeNUMAResourceArgs.
func (*NodeNUMAResourceArgs) DeepCopyInto ¶ added in v1.0.0
func (in *NodeNUMAResourceArgs) DeepCopyInto(out *NodeNUMAResourceArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeNUMAResourceArgs) DeepCopyObject ¶ added in v1.0.0
func (in *NodeNUMAResourceArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeResourcesFitPlusArgs ¶ added in v1.6.0
type NodeResourcesFitPlusArgs struct {
metav1.TypeMeta
Resources map[corev1.ResourceName]ResourcesType
}
NodeResourcesFitPlusArgs defines the parameters for NodeResourcesFitPlus plugin.
func (*NodeResourcesFitPlusArgs) DeepCopy ¶ added in v1.6.0
func (in *NodeResourcesFitPlusArgs) DeepCopy() *NodeResourcesFitPlusArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeResourcesFitPlusArgs.
func (*NodeResourcesFitPlusArgs) DeepCopyInto ¶ added in v1.6.0
func (in *NodeResourcesFitPlusArgs) DeepCopyInto(out *NodeResourcesFitPlusArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeResourcesFitPlusArgs) DeepCopyObject ¶ added in v1.6.0
func (in *NodeResourcesFitPlusArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PreAllocationConfig ¶ added in v1.8.0
type PreAllocationConfig struct {
// EnableClusterMode indicates whether to enable cluster mode for pre-allocation.
// When enabled, the scheduler will use cluster-wide label/annotation selectors
// to select and sort pre-allocatable pods.
EnableClusterMode bool
// ClusterLabelKey is the label key used to identify pre-allocatable pods in cluster mode.
// Defaults to "pod.koordinator.sh/is-pre-allocatable".
ClusterLabelKey string
// ClusterPriorityAnnotationKey is the annotation key used to prioritize pre-allocatable pods in cluster mode.
// Defaults to "pod.koordinator.sh/pre-allocatable-priority".
ClusterPriorityAnnotationKey string
// PreferNoPreAllocatedPods controls whether to prefer placing reservation
// without using pre-allocatable pods when pre-allocation is not required,
// in both single and multiple pre-allocation modes.
// Defaults to false.
PreferNoPreAllocatedPods bool
}
PreAllocationConfig defines the configuration for pre-allocation feature.
func (*PreAllocationConfig) DeepCopy ¶ added in v1.8.0
func (in *PreAllocationConfig) DeepCopy() *PreAllocationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreAllocationConfig.
func (*PreAllocationConfig) DeepCopyInto ¶ added in v1.8.0
func (in *PreAllocationConfig) DeepCopyInto(out *PreAllocationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReservationArgs ¶ added in v1.0.0
type ReservationArgs struct {
metav1.TypeMeta
// EnablePreemption indicates whether to enable preemption for reservations.
EnablePreemption bool
// MinCandidateNodesPercentage is the minimum number of candidates to
// shortlist when dry running preemption as a percentage of number of nodes.
// Must be in the range [0, 100]. Defaults to 10% of the cluster size if
// unspecified.
MinCandidateNodesPercentage int32
// MinCandidateNodesAbsolute is the absolute minimum number of candidates to
// shortlist. The likely number of candidates enumerated for dry running
// preemption is given by the formula:
// numCandidates = max(numNodes * minCandidateNodesPercentage, minCandidateNodesAbsolute)
// We say "likely" because there are other factors such as PDB violations
// that play a role in the number of candidates shortlisted. Must be at least
// 0 nodes. Defaults to 100 nodes if unspecified.
MinCandidateNodesAbsolute int32
// Workers number of reservation controller.
// Defaults to 1 if unspecified.
ControllerWorkers int32
// GCDurationSeconds is the duration in seconds after which expired or succeeded reservations
// will be garbage collected. Defaults to 24 hours (86400 seconds) if unspecified.
// This value should be provided in seconds.
GCDurationSeconds int64
// GCIntervalSeconds is the duration in seconds between each turns of garbage collection.
// Defaults to 60 seconds if unspecified.
// This value should be provided in seconds.
GCIntervalSeconds int64
// DisableGarbageCollection indicates whether to disable garbage collection.
// Default to false if unspecified.
DisableGarbageCollection bool
// ResyncIntervalSeconds is the duration in seconds between each turns of resync.
// Defaults to 60 seconds if unspecified.
ResyncIntervalSeconds int64
// PreAllocationConfig defines the configuration for pre-allocation feature.
// +optional
PreAllocationConfig *PreAllocationConfig
}
ReservationArgs holds arguments used to configure the Reservation plugin.
func (*ReservationArgs) DeepCopy ¶ added in v1.0.0
func (in *ReservationArgs) DeepCopy() *ReservationArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationArgs.
func (*ReservationArgs) DeepCopyInto ¶ added in v1.0.0
func (in *ReservationArgs) DeepCopyInto(out *ReservationArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReservationArgs) DeepCopyObject ¶ added in v1.0.0
func (in *ReservationArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourcesType ¶ added in v1.6.0
type ResourcesType struct {
Type config.ScoringStrategyType
Weight int64
}
func (*ResourcesType) DeepCopy ¶ added in v1.6.0
func (in *ResourcesType) DeepCopy() *ResourcesType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesType.
func (*ResourcesType) DeepCopyInto ¶ added in v1.6.0
func (in *ResourcesType) DeepCopyInto(out *ResourcesType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScarceResourceAvoidanceArgs ¶ added in v1.6.0
type ScarceResourceAvoidanceArgs struct {
metav1.TypeMeta
Resources []corev1.ResourceName
}
ScarceResourceAvoidanceArgs defines the parameters for ScarceResourceAvoidance plugin.
func (*ScarceResourceAvoidanceArgs) DeepCopy ¶ added in v1.6.0
func (in *ScarceResourceAvoidanceArgs) DeepCopy() *ScarceResourceAvoidanceArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScarceResourceAvoidanceArgs.
func (*ScarceResourceAvoidanceArgs) DeepCopyInto ¶ added in v1.6.0
func (in *ScarceResourceAvoidanceArgs) DeepCopyInto(out *ScarceResourceAvoidanceArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScarceResourceAvoidanceArgs) DeepCopyObject ¶ added in v1.6.0
func (in *ScarceResourceAvoidanceArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingHintArgs ¶ added in v1.8.0
type SchedulingHintArgs struct {
metav1.TypeMeta
// MaxHintNodes is the maximum number of hinted preferred nodes.
// Defaults to 100 if unspecified.
MaxHintNodes int32
}
SchedulingHintArgs holds arguments used to configure the SchedulingHint plugin.
func (*SchedulingHintArgs) DeepCopy ¶ added in v1.8.0
func (in *SchedulingHintArgs) DeepCopy() *SchedulingHintArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingHintArgs.
func (*SchedulingHintArgs) DeepCopyInto ¶ added in v1.8.0
func (in *SchedulingHintArgs) DeepCopyInto(out *SchedulingHintArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingHintArgs) DeepCopyObject ¶ added in v1.8.0
func (in *SchedulingHintArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScoringStrategy ¶ added in v1.0.0
type ScoringStrategy struct {
// Type selects which strategy to run.
Type ScoringStrategyType
// Resources a list of pairs <resource, weight> to be considered while scoring
// allowed weights start from 1.
Resources []schedconfig.ResourceSpec
}
ScoringStrategy define ScoringStrategyType for the plugin
func (*ScoringStrategy) DeepCopy ¶ added in v1.0.0
func (in *ScoringStrategy) DeepCopy() *ScoringStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScoringStrategy.
func (*ScoringStrategy) DeepCopyInto ¶ added in v1.0.0
func (in *ScoringStrategy) DeepCopyInto(out *ScoringStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScoringStrategyType ¶ added in v1.0.0
type ScoringStrategyType string
ScoringStrategyType is a "string" type.
const ( // MostAllocated strategy favors node with the least amount of available resource MostAllocated ScoringStrategyType = "MostAllocated" // BalancedAllocation strategy favors nodes with balanced resource usage rate BalancedAllocation ScoringStrategyType = "BalancedAllocation" // LeastAllocated strategy favors node with the most amount of available resource LeastAllocated ScoringStrategyType = "LeastAllocated" )