config

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 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
	// 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 {
	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
}

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

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
	// 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

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

Directories

Path Synopsis
Package v1beta2
Package v1beta2

Jump to

Keyboard shortcuts

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