configuration

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// keys in the configmap
	ColocationConfigKey        = "colocation-config"
	ResourceThresholdConfigKey = "resource-threshold-config"
	ResourceQOSConfigKey       = "resource-qos-config"
	CPUBurstConfigKey          = "cpu-burst-config"
	SystemConfigKey            = "system-config"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CPUBurstCfg

type CPUBurstCfg struct {
	ClusterStrategy *slov1alpha1.CPUBurstStrategy `json:"clusterStrategy,omitempty"`
	NodeStrategies  []NodeCPUBurstCfg             `json:"nodeStrategies,omitempty" validate:"dive"`
}

+k8s:deepcopy-gen=true

func (*CPUBurstCfg) DeepCopy

func (in *CPUBurstCfg) DeepCopy() *CPUBurstCfg

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

func (*CPUBurstCfg) DeepCopyInto

func (in *CPUBurstCfg) DeepCopyInto(out *CPUBurstCfg)

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

type CalculatePolicy

type CalculatePolicy string
const (
	CalculateByPodUsage   CalculatePolicy = "usage"
	CalculateByPodRequest CalculatePolicy = "request"
)

type ColocationCfg

type ColocationCfg struct {
	ColocationStrategy `json:",inline"`
	NodeConfigs        []NodeColocationCfg `json:"nodeConfigs,omitempty" validate:"dive"`
}

+k8s:deepcopy-gen=true

func (*ColocationCfg) DeepCopy

func (in *ColocationCfg) DeepCopy() *ColocationCfg

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

func (*ColocationCfg) DeepCopyInto

func (in *ColocationCfg) DeepCopyInto(out *ColocationCfg)

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

type ColocationStrategy

type ColocationStrategy struct {
	Enable                         *bool                        `json:"enable,omitempty"`
	MetricAggregateDurationSeconds *int64                       `json:"metricAggregateDurationSeconds,omitempty" validate:"omitempty,min=1"`
	MetricReportIntervalSeconds    *int64                       `json:"metricReportIntervalSeconds,omitempty" validate:"omitempty,min=1"`
	MetricAggregatePolicy          *slov1alpha1.AggregatePolicy `json:"metricAggregatePolicy,omitempty"`

	CPUReclaimThresholdPercent    *int64           `json:"cpuReclaimThresholdPercent,omitempty" validate:"omitempty,min=0,max=100"`
	MemoryReclaimThresholdPercent *int64           `json:"memoryReclaimThresholdPercent,omitempty" validate:"omitempty,min=0,max=100"`
	MemoryCalculatePolicy         *CalculatePolicy `json:"memoryCalculatePolicy,omitempty"`
	DegradeTimeMinutes            *int64           `json:"degradeTimeMinutes,omitempty" validate:"omitempty,min=1"`
	UpdateTimeThresholdSeconds    *int64           `json:"updateTimeThresholdSeconds,omitempty" validate:"omitempty,min=1"`
	ResourceDiffThreshold         *float64         `json:"resourceDiffThreshold,omitempty" validate:"omitempty,gt=0,max=1"`

	// MidCPUThresholdPercent defines the maximum percentage of the Mid-tier cpu resource dividing the node allocatable.
	// MidCPUAllocatable <= NodeCPUAllocatable * MidCPUThresholdPercent / 100.
	MidCPUThresholdPercent *int64 `json:"midCPUThresholdPercent,omitempty" validate:"omitempty,min=0,max=100"`
	// MidMemoryThresholdPercent defines the maximum percentage of the Mid-tier memory resource dividing the node allocatable.
	// MidMemoryAllocatable <= NodeMemoryAllocatable * MidMemoryThresholdPercent / 100.
	MidMemoryThresholdPercent *int64 `json:"midMemoryThresholdPercent,omitempty" validate:"omitempty,min=0,max=100"`

	ColocationStrategyExtender `json:",inline"` // for third-party extension
}

ColocationStrategy defines the strategy for node colocation. +k8s:deepcopy-gen=true

func (*ColocationStrategy) DeepCopy

func (in *ColocationStrategy) DeepCopy() *ColocationStrategy

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

func (*ColocationStrategy) DeepCopyInto

func (in *ColocationStrategy) DeepCopyInto(out *ColocationStrategy)

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

type ColocationStrategyExtender

type ColocationStrategyExtender struct {
	Extensions ExtraFields `json:"extensions,omitempty"`
}

+k8s:deepcopy-gen=true

func (*ColocationStrategyExtender) DeepCopy

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

func (*ColocationStrategyExtender) DeepCopyInto

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

type ExtensionCfg

type ExtensionCfg struct {
	ClusterStrategy interface{}             `json:"clusterStrategy,omitempty"`
	NodeStrategies  []NodeExtensionStrategy `json:"nodeStrategies,omitempty"`
}

+k8s:deepcopy-gen=false

func (*ExtensionCfg) DeepCopy

func (in *ExtensionCfg) DeepCopy() *ExtensionCfg

func (*ExtensionCfg) DeepCopyInto

func (in *ExtensionCfg) DeepCopyInto(out *ExtensionCfg)

type ExtensionCfgMap

type ExtensionCfgMap struct {
	Object map[string]ExtensionCfg `json:",inline"`
}

+k8s:deepcopy-gen=true

func (*ExtensionCfgMap) DeepCopy

func (in *ExtensionCfgMap) DeepCopy() *ExtensionCfgMap

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

func (*ExtensionCfgMap) DeepCopyInto

func (in *ExtensionCfgMap) DeepCopyInto(out *ExtensionCfgMap)

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

type ExtraFields

type ExtraFields map[string]interface{}

+k8s:deepcopy-gen=false

func (*ExtraFields) DeepCopy

func (in *ExtraFields) DeepCopy() *ExtraFields

func (*ExtraFields) DeepCopyInto

func (in *ExtraFields) DeepCopyInto(out *ExtraFields)

type NodeCPUBurstCfg

type NodeCPUBurstCfg struct {
	NodeCfgProfile `json:",inline"`
	*slov1alpha1.CPUBurstStrategy
}

+k8s:deepcopy-gen=true

func (*NodeCPUBurstCfg) DeepCopy

func (in *NodeCPUBurstCfg) DeepCopy() *NodeCPUBurstCfg

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

func (*NodeCPUBurstCfg) DeepCopyInto

func (in *NodeCPUBurstCfg) DeepCopyInto(out *NodeCPUBurstCfg)

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

type NodeCfgProfile

type NodeCfgProfile struct {
	// like ID for different nodeSelector; it's useful for console so that we can modify nodeCfg or nodeSelector by name
	Name string `json:"name,omitempty"`
	// an empty label selector matches all objects while a nil label selector matches no objects
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
}

+k8s:deepcopy-gen=true

func (*NodeCfgProfile) DeepCopy

func (in *NodeCfgProfile) DeepCopy() *NodeCfgProfile

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

func (*NodeCfgProfile) DeepCopyInto

func (in *NodeCfgProfile) DeepCopyInto(out *NodeCfgProfile)

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

type NodeColocationCfg

type NodeColocationCfg struct {
	NodeCfgProfile `json:",inline"`
	ColocationStrategy
}

+k8s:deepcopy-gen=true

func (*NodeColocationCfg) DeepCopy

func (in *NodeColocationCfg) DeepCopy() *NodeColocationCfg

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

func (*NodeColocationCfg) DeepCopyInto

func (in *NodeColocationCfg) DeepCopyInto(out *NodeColocationCfg)

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

type NodeExtensionStrategy

type NodeExtensionStrategy struct {
	NodeCfgProfile `json:",inline"`
	NodeStrategy   interface{} // for third-party extension
}

+k8s:deepcopy-gen=false

func (*NodeExtensionStrategy) DeepCopy

func (*NodeExtensionStrategy) DeepCopyInto

func (in *NodeExtensionStrategy) DeepCopyInto(out *NodeExtensionStrategy)

type NodeResourceQOSStrategy

type NodeResourceQOSStrategy struct {
	NodeCfgProfile `json:",inline"`
	*slov1alpha1.ResourceQOSStrategy
}

+k8s:deepcopy-gen=true

func (*NodeResourceQOSStrategy) DeepCopy

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

func (*NodeResourceQOSStrategy) DeepCopyInto

func (in *NodeResourceQOSStrategy) DeepCopyInto(out *NodeResourceQOSStrategy)

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

type NodeResourceThresholdStrategy

type NodeResourceThresholdStrategy struct {
	NodeCfgProfile `json:",inline"`
	*slov1alpha1.ResourceThresholdStrategy
}

+k8s:deepcopy-gen=true

func (*NodeResourceThresholdStrategy) DeepCopy

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

func (*NodeResourceThresholdStrategy) DeepCopyInto

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

type NodeSystemStrategy

type NodeSystemStrategy struct {
	NodeCfgProfile `json:",inline"`
	*slov1alpha1.SystemStrategy
}

+k8s:deepcopy-gen=true

func (*NodeSystemStrategy) DeepCopy

func (in *NodeSystemStrategy) DeepCopy() *NodeSystemStrategy

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

func (*NodeSystemStrategy) DeepCopyInto

func (in *NodeSystemStrategy) DeepCopyInto(out *NodeSystemStrategy)

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

type ResourceQOSCfg

type ResourceQOSCfg struct {
	ClusterStrategy *slov1alpha1.ResourceQOSStrategy `json:"clusterStrategy,omitempty"`
	NodeStrategies  []NodeResourceQOSStrategy        `json:"nodeStrategies,omitempty" validate:"dive"`
}

+k8s:deepcopy-gen=true

func (*ResourceQOSCfg) DeepCopy

func (in *ResourceQOSCfg) DeepCopy() *ResourceQOSCfg

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

func (*ResourceQOSCfg) DeepCopyInto

func (in *ResourceQOSCfg) DeepCopyInto(out *ResourceQOSCfg)

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

type ResourceThresholdCfg

type ResourceThresholdCfg struct {
	ClusterStrategy *slov1alpha1.ResourceThresholdStrategy `json:"clusterStrategy,omitempty"`
	NodeStrategies  []NodeResourceThresholdStrategy        `json:"nodeStrategies,omitempty" validate:"dive"`
}

+k8s:deepcopy-gen=true

func (*ResourceThresholdCfg) DeepCopy

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

func (*ResourceThresholdCfg) DeepCopyInto

func (in *ResourceThresholdCfg) DeepCopyInto(out *ResourceThresholdCfg)

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

type SystemCfg

type SystemCfg struct {
	ClusterStrategy *slov1alpha1.SystemStrategy `json:"clusterStrategy,omitempty"`
	NodeStrategies  []NodeSystemStrategy        `json:"nodeStrategies,omitempty" validate:"dive"`
}

+k8s:deepcopy-gen=true

func (*SystemCfg) DeepCopy

func (in *SystemCfg) DeepCopy() *SystemCfg

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

func (*SystemCfg) DeepCopyInto

func (in *SystemCfg) DeepCopyInto(out *SystemCfg)

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

Jump to

Keyboard shortcuts

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