Documentation ¶
Overview ¶
Package config of the API.
Index ¶
- Constants
- Variables
- type CPUBindPolicy
- type CPUExclusivePolicy
- type CoschedulingArgs
- type DeviceShareArgs
- type ElasticQuotaArgs
- type LoadAwareSchedulingAggregatedArgs
- type LoadAwareSchedulingArgs
- type NUMAAllocateStrategy
- type NodeNUMAResourceArgs
- type ReservationArgs
- 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 // default is false SkipCheckScheduleCycle bool }
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 }
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 true, use max instead of runtime for all checks. EnableRuntimeQuota bool }
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 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 // 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 // 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 // Aggregated supports resource utilization filtering and scoring based on percentile statistics Aggregated *LoadAwareSchedulingAggregatedArgs }
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 ReservationArgs ¶ added in v1.0.0
type ReservationArgs struct { metav1.TypeMeta // EnablePreemption indicates whether to enable preemption for reservations. EnablePreemption bool }
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 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" )