config

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package config of the API.

Index

Constants

This section is empty.

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

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

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

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