Documentation ¶
Overview ¶
Package config of the API.
Index ¶
Constants ¶
This section is empty.
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 = extension.CPUBindPolicy
CPUBindPolicy defines the CPU binding policy
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 )
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 `json:"defaultTimeout,omitempty"` // Workers number of controller // default is 1 ControllerWorkers *int64 `json:"controllerWorkers,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 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 `json:"delayEvictTime,omitempty"` // RevokePodInterval is the interval to check quotaGroup's used and runtime RevokePodInterval *metav1.Duration `json:"revokePodInterval,omitempty"` // DefaultQuotaGroupMax limit the maxQuota of DefaultQuotaGroup DefaultQuotaGroupMax corev1.ResourceList `json:"defaultQuotaGroupMax,omitempty"` // SystemQuotaGroupMax limit the maxQuota of SystemQuotaGroup SystemQuotaGroupMax corev1.ResourceList `json:"systemQuotaGroupMax,omitempty"` // QuotaGroupNamespace is the namespace of the DefaultQuotaGroup/SystemQuotaGroup QuotaGroupNamespace string `json:"quotaGroupNamespace,omitempty"` // MonitorAllQuotas monitor the quotaGroups' used and runtime Quota to revoke pods MonitorAllQuotas *bool `json:"monitorAllQuotas,omitempty"` }
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 LoadAwareSchedulingArgs ¶
type LoadAwareSchedulingArgs struct { metav1.TypeMeta // FilterExpiredNodeMetrics indicates whether to filter nodes where koordlet fails to update NodeMetric. FilterExpiredNodeMetrics *bool `json:"filterExpiredNodeMetrics,omitempty"` // NodeMetricExpirationSeconds indicates the NodeMetric expiration in seconds. // When NodeMetrics expired, the node is considered abnormal. // Default is 180 seconds. NodeMetricExpirationSeconds *int64 `json:"nodeMetricExpirationSeconds,omitempty"` // ResourceWeights indicates the weights of resources. // The weights of CPU and Memory are both 1 by default. ResourceWeights map[corev1.ResourceName]int64 `json:"resourceWeights,omitempty"` // UsageThresholds indicates the resource utilization threshold. // The default for CPU is 65%, and the default for memory is 95%. UsageThresholds map[corev1.ResourceName]int64 `json:"usageThresholds,omitempty"` // 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 `json:"estimatedScalingFactors,omitempty"` }
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
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 CPUBindPolicy `json:"defaultCPUBindPolicy,omitempty"` ScoringStrategy *ScoringStrategy `json:"scoringStrategy,omitempty"` }
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 `json:"enablePreemption,omitempty"` }
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" )