config

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package config of the API.

Index

Constants

View Source
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

View Source
var (

	// AddToScheme is a global function that registers this API group & version to a scheme
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
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 {
	metav1.TypeMeta

	// Allocator indicates the expected allocator to use
	// Deprecated: Adapting to different allocators is no longer supported.
	Allocator string
	// ScoringStrategy selects the device resource scoring strategy.
	ScoringStrategy *ScoringStrategy
	// DisableDeviceNUMATopologyAlignment indicates device don't need to align with other resources' numa topology
	DisableDeviceNUMATopologyAlignment bool
	// GPUSharedResourceTemplatesConfig holds configurations for GPU shared resource templates.
	GPUSharedResourceTemplatesConfig *GPUSharedResourceTemplatesConfig
	// GPUShareUnsupportedModels lists GPU vendor-model pairs that do not support GPU sharing (e.g. vNPU).
	// 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

type GPUShareUnsupportedModel struct {
	// Vendor is the GPU vendor label value, e.g. "huawei".
	Vendor string
	// Model is the GPU model label value, e.g. "Ascend-310P3-300I-DUO".
	Model string
}

GPUShareUnsupportedModel identifies a GPU model that does not support GPU sharing.

func (*GPUShareUnsupportedModel) DeepCopy added in v1.8.0

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 is the namespace of the ConfigMap holding GPU shared resource templates data.
	ConfigMapNamespace string
	// ConfigMapName is the name of the ConfigMap holding GPU shared resource templates data.
	ConfigMapName string
	// MatchedResources are resources matched for GPU shared resource templates.
	// 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

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

func (*GPUSharedResourceTemplatesConfig) DeepCopyInto added in v1.6.1

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

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

func (*LoadAwareSchedulingAggregatedArgs) DeepCopyInto added in v1.1.0

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

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

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

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

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

func (*ScarceResourceAvoidanceArgs) DeepCopyInto added in v1.6.0

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"
)

Directories

Path Synopsis
Package v1
Package v1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL