config

package
v0.29.7 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2024 License: Apache-2.0 Imports: 5 Imported by: 2

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 CacheInformerMode added in v0.28.8

type CacheInformerMode string

CacheInformerMode is a "string" type

const (
	CacheInformerShared    CacheInformerMode = "Shared"
	CacheInformerDedicated CacheInformerMode = "Dedicated"
)

type CacheResyncMethod added in v0.26.7

type CacheResyncMethod string

CacheResyncMethod is a "string" type.

const (
	CacheResyncAutodetect             CacheResyncMethod = "Autodetect"
	CacheResyncAll                    CacheResyncMethod = "All"
	CacheResyncOnlyExclusiveResources CacheResyncMethod = "OnlyExclusiveResources"
)

type CacheResyncScope added in v0.29.7

type CacheResyncScope string

CacheResyncScope is a "string" type

const (
	CacheResyncScopeAll           CacheResyncScope = "All"
	CacheResyncScopeOnlyResources CacheResyncScope = "OnlyResources"
)

type CoschedulingArgs

type CoschedulingArgs struct {
	metav1.TypeMeta

	// PermitWaitingTimeSeconds is the waiting timeout in seconds.
	PermitWaitingTimeSeconds int64
	// PodGroupBackoffSeconds is the backoff time in seconds before a pod group can be scheduled again.
	PodGroupBackoffSeconds int64
}

CoschedulingArgs defines the parameters for Coscheduling plugin.

func (*CoschedulingArgs) DeepCopy

func (in *CoschedulingArgs) DeepCopy() *CoschedulingArgs

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

func (*CoschedulingArgs) DeepCopyInto

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

func (in *CoschedulingArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ForeignPodsDetectMode added in v0.26.7

type ForeignPodsDetectMode string

ForeignPodsDetectMode is a "string" type.

const (
	ForeignPodsDetectNone                   ForeignPodsDetectMode = "None"
	ForeignPodsDetectAll                    ForeignPodsDetectMode = "All"
	ForeignPodsDetectOnlyExclusiveResources ForeignPodsDetectMode = "OnlyExclusiveResources"
)

type LoadVariationRiskBalancingArgs

type LoadVariationRiskBalancingArgs struct {
	metav1.TypeMeta

	// Common parameters for trimaran plugins
	TrimaranSpec
	// Multiplier of standard deviation in risk value
	SafeVarianceMargin float64
	// Root power of standard deviation in risk value
	SafeVarianceSensitivity float64
}

LoadVariationRiskBalancingArgs holds arguments used to configure LoadVariationRiskBalancing plugin.

func (*LoadVariationRiskBalancingArgs) DeepCopy

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

func (*LoadVariationRiskBalancingArgs) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadVariationRiskBalancingArgs) DeepCopyObject

func (in *LoadVariationRiskBalancingArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LowRiskOverCommitmentArgs added in v0.26.7

type LowRiskOverCommitmentArgs struct {
	metav1.TypeMeta

	// Common parameters for trimaran plugins
	TrimaranSpec
	// The number of windows over which usage data metrics are smoothed
	SmoothingWindowSize int64
	// Resources fractional weight of risk due to limits specification [0,1]
	RiskLimitWeights map[v1.ResourceName]float64
}

LowRiskOverCommitmentArgs holds arguments used to configure LowRiskOverCommitment plugin.

func (*LowRiskOverCommitmentArgs) DeepCopy added in v0.26.7

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

func (*LowRiskOverCommitmentArgs) DeepCopyInto added in v0.26.7

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LowRiskOverCommitmentArgs) DeepCopyObject added in v0.26.7

func (in *LowRiskOverCommitmentArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MetricProviderSpec

type MetricProviderSpec struct {
	// Types of the metric provider
	Type MetricProviderType
	// The address of the metric provider
	Address string
	// The authentication token of the metric provider
	Token string
	// Whether to enable the InsureSkipVerify options for https requests on Metric Providers.
	InsecureSkipVerify bool
}

Denote the spec of the metric provider

func (*MetricProviderSpec) DeepCopy

func (in *MetricProviderSpec) DeepCopy() *MetricProviderSpec

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

func (*MetricProviderSpec) DeepCopyInto

func (in *MetricProviderSpec) DeepCopyInto(out *MetricProviderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricProviderType

type MetricProviderType string

MetricProviderType is a "string" type.

const (
	KubernetesMetricsServer MetricProviderType = "KubernetesMetricsServer"
	Prometheus              MetricProviderType = "Prometheus"
	SignalFx                MetricProviderType = "SignalFx"
)

type ModeType

type ModeType string

ModeType is a "string" type.

const (
	// Least is the string "Least".
	Least ModeType = "Least"
	// Most is the string "Most".
	Most ModeType = "Most"
)

type NetworkOverheadArgs added in v0.24.9

type NetworkOverheadArgs struct {
	metav1.TypeMeta

	// Namespaces to be considered by NetworkMinCost plugin
	Namespaces []string

	// Preferred weights (Default: UserDefined)
	WeightsName string

	// The NetworkTopology CRD name
	NetworkTopologyName string
}

func (*NetworkOverheadArgs) DeepCopy added in v0.24.9

func (in *NetworkOverheadArgs) DeepCopy() *NetworkOverheadArgs

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

func (*NetworkOverheadArgs) DeepCopyInto added in v0.24.9

func (in *NetworkOverheadArgs) DeepCopyInto(out *NetworkOverheadArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkOverheadArgs) DeepCopyObject added in v0.24.9

func (in *NetworkOverheadArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeResourceTopologyCache added in v0.26.7

type NodeResourceTopologyCache struct {
	// ForeignPodsDetect sets how foreign pods should be handled.
	// Foreign pods are pods detected running on nodes managed by a NodeResourceTopologyMatch-enabled
	// scheduler, but not scheduled by this scheduler instance, likely because this is running as
	// secondary scheduler. To make sure the cache is consistent, foreign pods need to be handled.
	// Has no effect if caching is disabled (CacheResyncPeriod is zero) or
	// if DiscardReservedNodes is enabled. If unspecified, default is "All".
	ForeignPodsDetect *ForeignPodsDetectMode
	// ResyncMethod sets how the resync behaves to compute the expected node state.
	// "All" consider all pods to compute the node state. "OnlyExclusiveResources" consider
	// only pods regardless of their QoS which have exclusive resources assigned to their
	// containers (CPUs, devices...).
	// Has no effect if caching is disabled (CacheResyncPeriod is zero) or if DiscardReservedNodes
	// is enabled. "Autodetect" is the default, reads hint from NRT objects. Fallback is "All".
	ResyncMethod *CacheResyncMethod
	// InformerMode controls the channel the cache uses to get updates about pods.
	// "Shared" uses the default settings; "Dedicated" creates a specific subscription which is
	// guaranteed to best suit the cache needs, at cost of one extra connection.
	// If unspecified, default is "Dedicated"
	InformerMode *CacheInformerMode
	// ResyncScope controls which changes the resync logic monitors to trigger an update.
	// "All" consider both Attributes (metadata, node config details) and per-NUMA resources,
	// while "OnlyResources" consider only per-NUMA resource values. The default is
	// "All" to make the code react to node config changes avoiding reboots.
	// Use "OnlyResources" to restore the previous behavior.
	ResyncScope *CacheResyncScope
}

NodeResourceTopologyCache define configuration details for the NodeResourceTopology cache.

func (*NodeResourceTopologyCache) DeepCopy added in v0.26.7

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

func (*NodeResourceTopologyCache) DeepCopyInto added in v0.26.7

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeResourceTopologyMatchArgs

type NodeResourceTopologyMatchArgs struct {
	metav1.TypeMeta

	// ScoringStrategy a scoring model that determine how the plugin will score the nodes.
	ScoringStrategy ScoringStrategy
	// If > 0, enables the caching facilities of the reserve plugin - which must be enabled
	CacheResyncPeriodSeconds int64
	// if set to true, exclude node from scheduling if there are any reserved pods for given node
	// this option takes precedence over CacheResyncPeriodSeconds
	// if DiscardReservedNodes is enabled, CacheResyncPeriodSeconds option is noop
	DiscardReservedNodes bool
	// Cache enables to fine tune the caching behavior
	Cache *NodeResourceTopologyCache
}

NodeResourceTopologyMatchArgs holds arguments used to configure the NodeResourceTopologyMatch plugin

func (*NodeResourceTopologyMatchArgs) DeepCopy

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

func (*NodeResourceTopologyMatchArgs) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeResourceTopologyMatchArgs) DeepCopyObject

func (in *NodeResourceTopologyMatchArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeResourcesAllocatableArgs

type NodeResourcesAllocatableArgs struct {
	metav1.TypeMeta `json:",inline"`

	// Resources to be considered when scoring.
	// Allowed weights start from 1.
	// An example resource set might include "cpu" (millicores) and "memory" (bytes)
	// with weights of 1<<20 and 1 respectfully. That would mean 1 MiB has equivalent
	// weight as 1 millicore.
	Resources []schedconfig.ResourceSpec `json:"resources,omitempty"`

	// Whether to prioritize nodes with least or most allocatable resources.
	Mode ModeType `json:"mode,omitempty"`
}

NodeResourcesAllocatableArgs holds arguments used to configure NodeResourcesAllocatable plugin.

func (*NodeResourcesAllocatableArgs) DeepCopy

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

func (*NodeResourcesAllocatableArgs) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeResourcesAllocatableArgs) DeepCopyObject

func (in *NodeResourcesAllocatableArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PreemptionTolerationArgs

type PreemptionTolerationArgs schedconfig.DefaultPreemptionArgs

PreemptionTolerationArgs reuses DefaultPluginArgs.

func (*PreemptionTolerationArgs) DeepCopy

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

func (*PreemptionTolerationArgs) DeepCopyInto

func (in *PreemptionTolerationArgs) DeepCopyInto(out *PreemptionTolerationArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PreemptionTolerationArgs) DeepCopyObject

func (in *PreemptionTolerationArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ScoringStrategy

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 node resource topology plugin

func (*ScoringStrategy) DeepCopy

func (in *ScoringStrategy) DeepCopy() *ScoringStrategy

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

func (*ScoringStrategy) DeepCopyInto

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

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"
	// LeastNUMANodes strategy favors nodes which requires least amount of NUMA nodes to satisfy resource requests for given pod
	LeastNUMANodes ScoringStrategyType = "LeastNUMANodes"
)

type SySchedArgs added in v0.28.8

type SySchedArgs struct {
	metav1.TypeMeta

	// CR namespace of the default profile for all system calls
	DefaultProfileNamespace string

	// CR name of the default profile for all system calls
	DefaultProfileName string
}

func (*SySchedArgs) DeepCopy added in v0.28.8

func (in *SySchedArgs) DeepCopy() *SySchedArgs

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

func (*SySchedArgs) DeepCopyInto added in v0.28.8

func (in *SySchedArgs) DeepCopyInto(out *SySchedArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SySchedArgs) DeepCopyObject added in v0.28.8

func (in *SySchedArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TargetLoadPackingArgs

type TargetLoadPackingArgs struct {
	metav1.TypeMeta

	// Common parameters for trimaran plugins
	TrimaranSpec
	// Default requests to use for best effort QoS
	DefaultRequests v1.ResourceList
	// Default requests multiplier for busrtable QoS
	DefaultRequestsMultiplier string
	// Node target CPU Utilization for bin packing
	TargetUtilization int64
}

TargetLoadPackingArgs holds arguments used to configure TargetLoadPacking plugin.

func (*TargetLoadPackingArgs) DeepCopy

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

func (*TargetLoadPackingArgs) DeepCopyInto

func (in *TargetLoadPackingArgs) DeepCopyInto(out *TargetLoadPackingArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TargetLoadPackingArgs) DeepCopyObject

func (in *TargetLoadPackingArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TopologicalSortArgs added in v0.24.9

type TopologicalSortArgs struct {
	metav1.TypeMeta

	// Namespaces to be considered by TopologySort plugin
	Namespaces []string
}

func (*TopologicalSortArgs) DeepCopy added in v0.24.9

func (in *TopologicalSortArgs) DeepCopy() *TopologicalSortArgs

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

func (*TopologicalSortArgs) DeepCopyInto added in v0.24.9

func (in *TopologicalSortArgs) DeepCopyInto(out *TopologicalSortArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TopologicalSortArgs) DeepCopyObject added in v0.24.9

func (in *TopologicalSortArgs) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrimaranSpec added in v0.24.9

type TrimaranSpec struct {
	// Metric Provider to use when using load watcher as a library
	MetricProvider MetricProviderSpec
	// Address of load watcher service
	WatcherAddress string
}

TrimaranSpec holds common parameters for trimaran plugins

func (*TrimaranSpec) DeepCopy added in v0.24.9

func (in *TrimaranSpec) DeepCopy() *TrimaranSpec

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

func (*TrimaranSpec) DeepCopyInto added in v0.24.9

func (in *TrimaranSpec) DeepCopyInto(out *TrimaranSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Directories

Path Synopsis
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.

Jump to

Keyboard shortcuts

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