v1alpha1

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2023 License: Apache-2.0 Imports: 5 Imported by: 15

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the crane API. +k8s:deepcopy-gen=package,register +groupName=ensurance.crane.io

Index

Constants

View Source
const GroupName = "ensurance.crane.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AvoidanceAction

type AvoidanceAction struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AvoidanceActionSpec   `json:"spec"`
	Status AvoidanceActionStatus `json:"status,omitempty"`
}

AvoidanceAction defines Avoidance action

func (*AvoidanceAction) DeepCopy

func (in *AvoidanceAction) DeepCopy() *AvoidanceAction

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

func (*AvoidanceAction) DeepCopyInto

func (in *AvoidanceAction) DeepCopyInto(out *AvoidanceAction)

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

func (*AvoidanceAction) DeepCopyObject

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

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

type AvoidanceActionList

type AvoidanceActionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AvoidanceAction `json:"items"`
}

AvoidanceActionList contains a list of AvoidanceAction

func (*AvoidanceActionList) DeepCopy

func (in *AvoidanceActionList) DeepCopy() *AvoidanceActionList

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

func (*AvoidanceActionList) DeepCopyInto

func (in *AvoidanceActionList) DeepCopyInto(out *AvoidanceActionList)

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

func (*AvoidanceActionList) DeepCopyObject

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

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

type AvoidanceActionSpec

type AvoidanceActionSpec struct {
	// CoolDownSeconds is the seconds for cool down when do avoidance.
	// Defaults to 300. Minimum value is 1.
	// +optional
	// +kubebuilder:default=300
	CoolDownSeconds int32 `json:"coolDownSeconds,omitempty"`

	// Throttle describes the throttling action
	// +optional
	Throttle *ThrottleAction `json:"throttle,omitempty"`

	//Eviction describes the eviction action
	// +optional
	Eviction *EvictionAction `json:"eviction,omitempty"`

	// Description is an arbitrary string that usually provides guidelines on
	// when this action should be used.
	// +optional
	// +kubebuilder:validation:MaxLength=1024
	Description string `json:"description,omitempty"`
}

func (*AvoidanceActionSpec) DeepCopy

func (in *AvoidanceActionSpec) DeepCopy() *AvoidanceActionSpec

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

func (*AvoidanceActionSpec) DeepCopyInto

func (in *AvoidanceActionSpec) DeepCopyInto(out *AvoidanceActionSpec)

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

type AvoidanceActionStatus

type AvoidanceActionStatus struct {
}

AvoidanceActionStatus defines the desired status of AvoidanceAction

func (*AvoidanceActionStatus) DeepCopy

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

func (*AvoidanceActionStatus) DeepCopyInto

func (in *AvoidanceActionStatus) DeepCopyInto(out *AvoidanceActionStatus)

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

type AvoidanceActionStrategy

type AvoidanceActionStrategy string
const (
	// AvoidanceActionStrategyNone do the action when the rules triggered.
	AvoidanceActionStrategyNone AvoidanceActionStrategy = "None"
	// AvoidanceActionStrategyPreview is the preview for QosEnsuranceStrategyNone.
	AvoidanceActionStrategyPreview AvoidanceActionStrategy = "Preview"
)

type CPUBurst added in v0.8.0

type CPUBurst struct {
	// BurstQuota define the burst quota for the pods.
	BurstQuota string `json:"burstQuota,omitempty"`
}

func (*CPUBurst) DeepCopy added in v0.8.0

func (in *CPUBurst) DeepCopy() *CPUBurst

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

func (*CPUBurst) DeepCopyInto added in v0.8.0

func (in *CPUBurst) DeepCopyInto(out *CPUBurst)

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

type CPUQOS added in v0.8.0

type CPUQOS struct {
	// CPUPriority define the cpu priority for the pods.
	// CPUPriority range [0,7], 0 is the highest level.
	// When the cpu resource is shortage, the low level pods would be throttled
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=7
	// +optional
	CPUPriority *int32 `json:"cpuPriority,omitempty"`

	ContainerPriority map[string]*int32 `json:"containerPriority,omitempty"`

	CPUBurst CPUBurst `json:"cpuBurst,omitempty"`

	HtIsolation HtIsolation `json:"htIsolation,omitempty"`

	CPUSet CPUSet `json:"cpuSet,omitempty"`

	RDT RDT `json:"rdt,omitempty"`

	ContainerRDT map[string]RDT `json:"containerRdt,omitempty"`
}

func (*CPUQOS) DeepCopy added in v0.8.0

func (in *CPUQOS) DeepCopy() *CPUQOS

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

func (*CPUQOS) DeepCopyInto added in v0.8.0

func (in *CPUQOS) DeepCopyInto(out *CPUQOS)

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

type CPUSet added in v0.8.0

type CPUSet struct {
	// none/exclusive/share
	// Provide three polices for cpuset manager:
	// - none: containers of this pod shares a set of cpus which not allocated to exclusive containers
	// - exclusive:  containers of this pod monopolize the allocated CPUs , other containers not allowed to use.
	// - share: containers of this pod runs in theallocated  CPUs , but other containers can also use.
	CPUSet string `json:"cpuSet,omitempty"`
}

func (*CPUSet) DeepCopy added in v0.8.0

func (in *CPUSet) DeepCopy() *CPUSet

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

func (*CPUSet) DeepCopyInto added in v0.8.0

func (in *CPUSet) DeepCopyInto(out *CPUSet)

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

type CPUThrottle

type CPUThrottle struct {
	// MinCPURatio is the min of cpu ratio for low level pods,
	// for example: the pod limit is 4096, ratio is 10, the minimum is 409.
	// MinCPURatio range [0,100]
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	MinCPURatio int32 `json:"minCPURatio,omitempty"`

	// StepCPURatio is the step of cpu share and limit for once down-size.
	// StepCPURatio range [0,100]
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	StepCPURatio int32 `json:"stepCPURatio,omitempty"`
}

func (*CPUThrottle) DeepCopy

func (in *CPUThrottle) DeepCopy() *CPUThrottle

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

func (*CPUThrottle) DeepCopyInto

func (in *CPUThrottle) DeepCopyInto(out *CPUThrottle)

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

type DevNetIOLimits added in v0.8.0

type DevNetIOLimits map[string]NetIOLimits

func (DevNetIOLimits) DeepCopy added in v0.8.0

func (in DevNetIOLimits) DeepCopy() DevNetIOLimits

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

func (DevNetIOLimits) DeepCopyInto added in v0.8.0

func (in DevNetIOLimits) DeepCopyInto(out *DevNetIOLimits)

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

type DiskIOLimit added in v0.8.0

type DiskIOLimit struct {
	ReadIOPS  int64 `json:"readIOps,omitempty"`
	WriteIOPS int64 `json:"writeIOps,omitempty"`
	ReadBPS   int64 `json:"readBps,omitempty"`
	WriteBPS  int64 `json:"writeBps,omitempty"`
}

func (*DiskIOLimit) DeepCopy added in v0.8.0

func (in *DiskIOLimit) DeepCopy() *DiskIOLimit

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

func (*DiskIOLimit) DeepCopyInto added in v0.8.0

func (in *DiskIOLimit) DeepCopyInto(out *DiskIOLimit)

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

type DiskIOQOS added in v0.8.0

type DiskIOQOS struct {
	DiskIOWeight DiskIOWeight `json:"diskIOWeight,omitempty"`
	DiskIOLimit  DiskIOLimit  `json:"diskIOLimit,omitempty"`
}

func (*DiskIOQOS) DeepCopy added in v0.8.0

func (in *DiskIOQOS) DeepCopy() *DiskIOQOS

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

func (*DiskIOQOS) DeepCopyInto added in v0.8.0

func (in *DiskIOQOS) DeepCopyInto(out *DiskIOQOS)

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

type DiskIOWeight added in v0.8.0

type DiskIOWeight struct {
	Weight int64 `json:"weight,omitempty"`
}

func (*DiskIOWeight) DeepCopy added in v0.8.0

func (in *DiskIOWeight) DeepCopy() *DiskIOWeight

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

func (*DiskIOWeight) DeepCopyInto added in v0.8.0

func (in *DiskIOWeight) DeepCopyInto(out *DiskIOWeight)

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

type ElasticCoreCpuLimit added in v0.8.0

type ElasticCoreCpuLimit struct {
	CoreNum string `json:"coreNum,omitempty"`
	Percent int64  `json:"percent,omitempty"`
}

func (*ElasticCoreCpuLimit) DeepCopy added in v0.8.0

func (in *ElasticCoreCpuLimit) DeepCopy() *ElasticCoreCpuLimit

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

func (*ElasticCoreCpuLimit) DeepCopyInto added in v0.8.0

func (in *ElasticCoreCpuLimit) DeepCopyInto(out *ElasticCoreCpuLimit)

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

type ElasticCoreCpuLimitPeriod added in v0.8.0

type ElasticCoreCpuLimitPeriod struct {
	SchduleTime string `json:"offlineCpuLimit,omitempty"`
	CoreNum     string `json:"coreNum,omitempty"`
	Percent     int64  `json:"percent,omitempty"`
}

func (*ElasticCoreCpuLimitPeriod) DeepCopy added in v0.8.0

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

func (*ElasticCoreCpuLimitPeriod) DeepCopyInto added in v0.8.0

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

type ElasticCpuAvoidance added in v0.8.0

type ElasticCpuAvoidance struct {
	Enable bool `json:"enable,omitempty"`
}

func (*ElasticCpuAvoidance) DeepCopy added in v0.8.0

func (in *ElasticCpuAvoidance) DeepCopy() *ElasticCpuAvoidance

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

func (*ElasticCpuAvoidance) DeepCopyInto added in v0.8.0

func (in *ElasticCpuAvoidance) DeepCopyInto(out *ElasticCpuAvoidance)

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

type ElasticCpuLimit added in v0.8.0

type ElasticCpuLimit struct {
	// ElasticNodeCpuLimit is the total cpu usage limit for the workloads which use extended resource in node
	// Suppress the workloads which use extended resource when the CPU usage of the node exceedes ElasticNodeCpuLimit
	ElasticNodeCpuLimit ElasticNodeCpuLimit `json:"elasticNodeCpuLimit,omitempty"`

	// Limit the amount of single core CPU that can be used by workloads which use extended resource
	ElasticCoreCpuLimit []ElasticCoreCpuLimit `json:"elasticCoreCpuLimit,omitempty"`

	// Limit the amount of single core CPU and its corresponding time that can be used by workloads which use extended resource
	ElasticCoreCpuLimitPeriod []ElasticCoreCpuLimitPeriod `json:"elasticCoreCpuLimitPeriod,omitempty"`

	// Workloads which use extended resource only run on CPUs where high priority tasks are not running
	ElasticCpuAvoidance ElasticCpuAvoidance `json:"elasticCpuAvoidance,omitempty"`
}

func (*ElasticCpuLimit) DeepCopy added in v0.8.0

func (in *ElasticCpuLimit) DeepCopy() *ElasticCpuLimit

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

func (*ElasticCpuLimit) DeepCopyInto added in v0.8.0

func (in *ElasticCpuLimit) DeepCopyInto(out *ElasticCpuLimit)

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

type ElasticNodeCpuLimit added in v0.8.0

type ElasticNodeCpuLimit struct {
	Percent int64 `json:"percent,omitempty"`
}

func (*ElasticNodeCpuLimit) DeepCopy added in v0.8.0

func (in *ElasticNodeCpuLimit) DeepCopy() *ElasticNodeCpuLimit

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

func (*ElasticNodeCpuLimit) DeepCopyInto added in v0.8.0

func (in *ElasticNodeCpuLimit) DeepCopyInto(out *ElasticNodeCpuLimit)

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

type EvictionAction

type EvictionAction struct {
	// TerminationGracePeriodSeconds is the duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
	// If this value is nil, the pod's terminationGracePeriodSeconds will be used.
	// Otherwise, this value overrides the value provided by the pod spec.
	// Value must be non-negative integer. The value zero indicates delete immediately.
	// +optional
	TerminationGracePeriodSeconds *int32 `json:"terminationGracePeriodSeconds,omitempty"`
}

func (*EvictionAction) DeepCopy

func (in *EvictionAction) DeepCopy() *EvictionAction

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

func (*EvictionAction) DeepCopyInto

func (in *EvictionAction) DeepCopyInto(out *EvictionAction)

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

type HtIsolation added in v0.8.0

type HtIsolation struct {
	Enable bool `json:"enable,omitempty"`
}

func (*HtIsolation) DeepCopy added in v0.8.0

func (in *HtIsolation) DeepCopy() *HtIsolation

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

func (*HtIsolation) DeepCopyInto added in v0.8.0

func (in *HtIsolation) DeepCopyInto(out *HtIsolation)

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

type MemAsyncReclaim added in v0.8.0

type MemAsyncReclaim struct {
	AsyncRatio          *int64 `json:"asyncRatio"`
	AsyncDistanceFactor *int64 `json:"asyncDistanceFactor"`
}

func (*MemAsyncReclaim) DeepCopy added in v0.8.0

func (in *MemAsyncReclaim) DeepCopy() *MemAsyncReclaim

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

func (*MemAsyncReclaim) DeepCopyInto added in v0.8.0

func (in *MemAsyncReclaim) DeepCopyInto(out *MemAsyncReclaim)

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

type MemLimit added in v0.8.0

type MemLimit struct {
	PageCacheLimitGlobal     *bool  `json:"pageCacheLimitGlobal,omitempty"`
	PageCacheLimitRetryTimes *int64 `json:"pageCacheLimitRetryTimes,omitempty"`
}

func (*MemLimit) DeepCopy added in v0.8.0

func (in *MemLimit) DeepCopy() *MemLimit

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

func (*MemLimit) DeepCopyInto added in v0.8.0

func (in *MemLimit) DeepCopyInto(out *MemLimit)

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

type MemPageCacheLimit added in v0.8.0

type MemPageCacheLimit struct {
	PageCacheMaxRatio     *int64 `json:"pageCacheMaxRatio"`
	PageCacheReclaimRatio *int64 `json:"pageCacheReclaimRatio"`
}

func (*MemPageCacheLimit) DeepCopy added in v0.8.0

func (in *MemPageCacheLimit) DeepCopy() *MemPageCacheLimit

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

func (*MemPageCacheLimit) DeepCopyInto added in v0.8.0

func (in *MemPageCacheLimit) DeepCopyInto(out *MemPageCacheLimit)

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

type MemWatermark added in v0.8.0

type MemWatermark struct {
	WatermarkRatio *int `json:"watermarkRatio"`
}

MemWatermark to set memory watermark priority

func (*MemWatermark) DeepCopy added in v0.8.0

func (in *MemWatermark) DeepCopy() *MemWatermark

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

func (*MemWatermark) DeepCopyInto added in v0.8.0

func (in *MemWatermark) DeepCopyInto(out *MemWatermark)

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

type MemoryQOS added in v0.8.0

type MemoryQOS struct {
	// MemoryPriority define the memory priority for the pods.
	// MemoryPriority range [0,7], 0 is the highest level.
	// When the memory resource is shortage, the low level pods would be OOM Killed earlier
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=7
	// +optional
	MemoryPriority *int32 `json:"memPriority,omitempty"`

	MemAsyncReclaim   MemAsyncReclaim   `json:"memAsyncReclaim,omitempty"`
	MemWatermark      MemWatermark      `json:"memWatermark,omitempty"`
	MemPageCacheLimit MemPageCacheLimit `json:"memPageCacheLimit,omitempty"`
}

func (*MemoryQOS) DeepCopy added in v0.8.0

func (in *MemoryQOS) DeepCopy() *MemoryQOS

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

func (*MemoryQOS) DeepCopyInto added in v0.8.0

func (in *MemoryQOS) DeepCopyInto(out *MemoryQOS)

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

type MemoryThrottle

type MemoryThrottle struct {
	// ForceGC means force gc page cache for pods with low priority
	// +optional
	ForceGC bool `json:"forceGC,omitempty"`
}

func (*MemoryThrottle) DeepCopy

func (in *MemoryThrottle) DeepCopy() *MemoryThrottle

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

func (*MemoryThrottle) DeepCopyInto

func (in *MemoryThrottle) DeepCopyInto(out *MemoryThrottle)

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

type MetricRule

type MetricRule struct {
	// Name is the name of the given metric
	Name string `json:"name"`
	// Selector is the selector for the given metric
	// it is the string-encoded form of a standard kubernetes label selector
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// Value is the target value of the metric (as a quantity).
	Value resource.Quantity `json:"value,omitempty"`
}

func (*MetricRule) DeepCopy

func (in *MetricRule) DeepCopy() *MetricRule

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

func (*MetricRule) DeepCopyInto

func (in *MetricRule) DeepCopyInto(out *MetricRule)

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

type NetIOLimits added in v0.8.0

type NetIOLimits struct {
	RXBps int64 `json:"rxBps"`
	TXBps int64 `json:"txBps"`
}

func (*NetIOLimits) DeepCopy added in v0.8.0

func (in *NetIOLimits) DeepCopy() *NetIOLimits

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

func (*NetIOLimits) DeepCopyInto added in v0.8.0

func (in *NetIOLimits) DeepCopyInto(out *NetIOLimits)

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

type NetIOQOS added in v0.8.0

type NetIOQOS struct {
	NetIOPriority      *int64           `json:"netIOPriority,omitempty"`
	ContainersPriority map[string]int64 `json:"containersPriority,omitempty"`
	NetIOLimits        NetIOLimits      `json:"netIOLimits,omitempty"`
	DevNetIOLimits     DevNetIOLimits   `json:"devNetIOLimits,omitempty"`
	WhitelistPorts     WhitelistPorts   `json:"whitelistPorts,omitempty"`
}

func (*NetIOQOS) DeepCopy added in v0.8.0

func (in *NetIOQOS) DeepCopy() *NetIOQOS

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

func (*NetIOQOS) DeepCopyInto added in v0.8.0

func (in *NetIOQOS) DeepCopyInto(out *NetIOQOS)

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

type NetLimits added in v0.8.0

type NetLimits struct {
	RXBpsMin *int64 `json:"rxBpsMin"`
	RXBpsMax *int64 `json:"rxBpsMax"`
	TXBpsMin *int64 `json:"txBpsMin"`
	TXBpsMax *int64 `json:"txBpsMax"`
}

func (*NetLimits) DeepCopy added in v0.8.0

func (in *NetLimits) DeepCopy() *NetLimits

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

func (*NetLimits) DeepCopyInto added in v0.8.0

func (in *NetLimits) DeepCopyInto(out *NetLimits)

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

type NodeLocalGet

type NodeLocalGet struct {
	// LocalCacheTTLSeconds is the cache expired time.
	// Defaults to 60
	// +optional
	// +kubebuilder:default=60
	LocalCacheTTLSeconds int32 `json:"localCacheTTLSeconds,omitempty"`
}

func (*NodeLocalGet) DeepCopy

func (in *NodeLocalGet) DeepCopy() *NodeLocalGet

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

func (*NodeLocalGet) DeepCopyInto

func (in *NodeLocalGet) DeepCopyInto(out *NodeLocalGet)

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

type NodeQOS added in v0.8.0

type NodeQOS struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeQOSSpec   `json:"spec"`
	Status NodeQOSStatus `json:"status,omitempty"`
}

NodeQOS is the Schema for the nodeqos API

func (*NodeQOS) DeepCopy added in v0.8.0

func (in *NodeQOS) DeepCopy() *NodeQOS

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

func (*NodeQOS) DeepCopyInto added in v0.8.0

func (in *NodeQOS) DeepCopyInto(out *NodeQOS)

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

func (*NodeQOS) DeepCopyObject added in v0.8.0

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

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

type NodeQOSList added in v0.8.0

type NodeQOSList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeQOS `json:"items"`
}

NodeQOSList contains a list of NodeQOS

func (*NodeQOSList) DeepCopy added in v0.8.0

func (in *NodeQOSList) DeepCopy() *NodeQOSList

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

func (*NodeQOSList) DeepCopyInto added in v0.8.0

func (in *NodeQOSList) DeepCopyInto(out *NodeQOSList)

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

func (*NodeQOSList) DeepCopyObject added in v0.8.0

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

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

type NodeQOSSpec added in v0.8.0

type NodeQOSSpec struct {
	// Selector is a label query over pods that should match the policy
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// NodeQualityProbe defines the way to probe a node
	NodeQualityProbe NodeQualityProbe `json:"nodeQualityProbe,omitempty"`

	// Rules is an array of Rules and its corresponding action
	Rules []Rule `json:"rules,omitempty"`

	// ElasticCpuLimit is the cpu limit for workloads using elastic cpu in the node
	ElasticCpuLimit ElasticCpuLimit `json:"elasticCpuLimit,omitempty"`

	// MemoryLimit is the mem limit in the node
	MemoryLimit MemLimit `json:"memLimit,omitempty"`

	// NetLimits is the net IO limit in the node
	NetLimits NetLimits `json:"netLimits,omitempty"`
}

NodeQOSSpec defines the desired status of NodeQOS

func (*NodeQOSSpec) DeepCopy added in v0.8.0

func (in *NodeQOSSpec) DeepCopy() *NodeQOSSpec

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

func (*NodeQOSSpec) DeepCopyInto added in v0.8.0

func (in *NodeQOSSpec) DeepCopyInto(out *NodeQOSSpec)

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

type NodeQOSStatus added in v0.8.0

type NodeQOSStatus struct {
}

NodeQOSStatus defines the observed status of NodeQOS

func (*NodeQOSStatus) DeepCopy added in v0.8.0

func (in *NodeQOSStatus) DeepCopy() *NodeQOSStatus

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

func (*NodeQOSStatus) DeepCopyInto added in v0.8.0

func (in *NodeQOSStatus) DeepCopyInto(out *NodeQOSStatus)

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

type NodeQualityProbe

type NodeQualityProbe struct {
	// HTTPGet specifies the http request to perform.
	// +optional
	HTTPGet *corev1.HTTPGetAction `json:"httpGet,omitempty"`

	// NodeLocalGet specifies how to request node local
	// +optional
	NodeLocalGet *NodeLocalGet `json:"nodeLocalGet,omitempty"`

	// TimeoutSeconds is the timeout for request.
	// Defaults to 0, no timeout forever.
	// +optional
	TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
}

func (*NodeQualityProbe) DeepCopy

func (in *NodeQualityProbe) DeepCopy() *NodeQualityProbe

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

func (*NodeQualityProbe) DeepCopyInto

func (in *NodeQualityProbe) DeepCopyInto(out *NodeQualityProbe)

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

type PodQOS added in v0.8.0

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

	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec PodQOSSpec `json:"spec"`

	Status PodQOSStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced +kubebuilder:resource:scope=Cluster,shortName=pq,path=podqoss +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*PodQOS) DeepCopy added in v0.8.0

func (in *PodQOS) DeepCopy() *PodQOS

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

func (*PodQOS) DeepCopyInto added in v0.8.0

func (in *PodQOS) DeepCopyInto(out *PodQOS)

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

func (*PodQOS) DeepCopyObject added in v0.8.0

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

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

type PodQOSEnsurancePolicyStatus

type PodQOSEnsurancePolicyStatus struct {
}

PodQOSEnsurancePolicyStatus defines the observed status of PodQOSEnsurancePolicy

func (*PodQOSEnsurancePolicyStatus) DeepCopy

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

func (*PodQOSEnsurancePolicyStatus) DeepCopyInto

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

type PodQOSList added in v0.8.0

type PodQOSList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PodQOS `json:"items"`
}

PodQOSList contains a list of PodQOS

func (*PodQOSList) DeepCopy added in v0.8.0

func (in *PodQOSList) DeepCopy() *PodQOSList

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

func (*PodQOSList) DeepCopyInto added in v0.8.0

func (in *PodQOSList) DeepCopyInto(out *PodQOSList)

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

func (*PodQOSList) DeepCopyObject added in v0.8.0

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

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

type PodQOSSpec added in v0.8.0

type PodQOSSpec struct {
	// LabelSelector is a label query over pods that should match the PodQOS
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`

	// A scope selector represents the AND of the selectors represented
	// by the scoped-resource selector requirements.
	ScopeSelector *ScopeSelector `json:"scopeSelector,omitempty"`

	// ResourceQOS describe the QOS limit for cpu,memory,netIO,diskIO and so on.
	ResourceQOS ResourceQOS `json:"resourceQOS,omitempty"`

	//QualityProbe defines the way to probe a pod
	PodQualityProbe PodQualityProbe `json:"podQualityProbe,omitempty"`

	// AllowedActions limits the set of actions that the pods is allowed to perform by NodeQOS
	// Example: ["Throttle", "Evict"]
	AllowedActions []string `json:"allowedActions,omitempty"`
}

func (*PodQOSSpec) DeepCopy added in v0.8.0

func (in *PodQOSSpec) DeepCopy() *PodQOSSpec

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

func (*PodQOSSpec) DeepCopyInto added in v0.8.0

func (in *PodQOSSpec) DeepCopyInto(out *PodQOSSpec)

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

type PodQOSStatus added in v0.8.0

type PodQOSStatus struct {
}

func (*PodQOSStatus) DeepCopy added in v0.8.0

func (in *PodQOSStatus) DeepCopy() *PodQOSStatus

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

func (*PodQOSStatus) DeepCopyInto added in v0.8.0

func (in *PodQOSStatus) DeepCopyInto(out *PodQOSStatus)

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

type PodQualityProbe added in v0.8.0

type PodQualityProbe struct {
	// HTTPGet specifies the http request to perform.
	// +optional
	HTTPGet *corev1.HTTPGetAction `json:"httpGet,omitempty"`

	// TimeoutSeconds is the timeout for request.
	// Defaults to 0, no timeout forever
	// +optional
	TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
}

func (*PodQualityProbe) DeepCopy added in v0.8.0

func (in *PodQualityProbe) DeepCopy() *PodQualityProbe

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

func (*PodQualityProbe) DeepCopyInto added in v0.8.0

func (in *PodQualityProbe) DeepCopyInto(out *PodQualityProbe)

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

type QOSEnsurance added in v0.8.0

type QOSEnsurance struct {
	Rule Rule `json:"rule,omitempty"`
}

QOSEnsurance defines the policy that

func (*QOSEnsurance) DeepCopy added in v0.8.0

func (in *QOSEnsurance) DeepCopy() *QOSEnsurance

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

func (*QOSEnsurance) DeepCopyInto added in v0.8.0

func (in *QOSEnsurance) DeepCopyInto(out *QOSEnsurance)

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

type RDT added in v0.8.0

type RDT struct {
	L3 RDTValue `json:"l3,omitempty"`
	MB RDTValue `json:"mb,omitempty"`
}

func (*RDT) DeepCopy added in v0.8.0

func (in *RDT) DeepCopy() *RDT

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

func (*RDT) DeepCopyInto added in v0.8.0

func (in *RDT) DeepCopyInto(out *RDT)

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

type RDTValue added in v0.8.0

type RDTValue map[string]string

func (RDTValue) DeepCopy added in v0.8.0

func (in RDTValue) DeepCopy() RDTValue

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

func (RDTValue) DeepCopyInto added in v0.8.0

func (in RDTValue) DeepCopyInto(out *RDTValue)

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

type ResourceQOS added in v0.8.0

type ResourceQOS struct {
	CPUQOS    *CPUQOS    `json:"cpuQOS,omitempty"`
	MemoryQOS *MemoryQOS `json:"memoryQOS,omitempty"`
	NetIOQOS  *NetIOQOS  `json:"netIOQOS,omitempty"`
	DiskIOQOS *DiskIOQOS `json:"diskIOQOS,omitempty"`
}

func (*ResourceQOS) DeepCopy added in v0.8.0

func (in *ResourceQOS) DeepCopy() *ResourceQOS

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

func (*ResourceQOS) DeepCopyInto added in v0.8.0

func (in *ResourceQOS) DeepCopyInto(out *ResourceQOS)

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

type Rule added in v0.8.0

type Rule struct {
	// Name of the objective ensurance
	Name string `json:"name,omitempty"`

	// Metric rule define the metric identifier and target
	MetricRule *MetricRule `json:"metricRule,omitempty"`

	// How many times the rule is reach, to trigger avoidance action.
	// Defaults to 1. Minimum value is 1.
	// +optional
	// +kubebuilder:default=1
	AvoidanceThreshold int32 `json:"avoidanceThreshold,omitempty"`

	// How many times the rule can restore.
	// Defaults to 1. Minimum value is 1.
	// +optional
	// +kubebuilder:default=1
	RestoreThreshold int32 `json:"restoreThreshold,omitempty"`

	// Avoidance action to be executed when the rule triggered
	AvoidanceActionName string `json:"actionName"`

	// Action only preview, not to do the real action.
	// Default AvoidanceActionStrategy is None.
	// +optional
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Enum=None;Preview
	// +kubebuilder:default=None
	Strategy AvoidanceActionStrategy `json:"strategy,omitempty"`
}

func (*Rule) DeepCopy added in v0.8.0

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInto added in v0.8.0

func (in *Rule) DeepCopyInto(out *Rule)

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

type ScopeName added in v0.8.0

type ScopeName string
const (
	// QOSClassSelectors used to select workload with designated QOSClass, example: ["BestEffort","Guaranteed"]
	QOSClassSelector ScopeName = "QOSClass"
	// PrioritySelectors used to select workload with designated priority, contains an operator and values.
	PrioritySelectors ScopeName = "Priority"
	// NamespaceSelectors used to select workload by namespace
	NamespaceSelectors ScopeName = "Namespace"
)

type ScopeSelector added in v0.8.0

type ScopeSelector struct {
	// A list of scope selector requirements by scope of the resources.
	// +optional
	MatchExpressions []ScopedResourceSelectorRequirement `json:"matchExpressions,omitempty"`
}

func (*ScopeSelector) DeepCopy added in v0.8.0

func (in *ScopeSelector) DeepCopy() *ScopeSelector

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

func (*ScopeSelector) DeepCopyInto added in v0.8.0

func (in *ScopeSelector) DeepCopyInto(out *ScopeSelector)

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

type ScopedResourceSelectorRequirement added in v0.8.0

type ScopedResourceSelectorRequirement struct {
	// The name of the scope that the selector applies to.
	ScopeName ScopeName `json:"scopeName"`
	// Represents a scope's relationship to a set of values.
	// Valid operators are In, NotIn.
	Operator corev1.ScopeSelectorOperator `json:"operator"`
	// An array of string values. If the operator is In or NotIn,
	// the values array must be non-empty.
	// This array is replaced during a strategic merge patch.
	// +optional
	Values []string `json:"values,omitempty"`
}

A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator that relates the scope name and values.

func (*ScopedResourceSelectorRequirement) DeepCopy added in v0.8.0

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

func (*ScopedResourceSelectorRequirement) DeepCopyInto added in v0.8.0

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

type ThrottleAction

type ThrottleAction struct {
	// +optional
	CPUThrottle CPUThrottle `json:"cpuThrottle,omitempty"`

	// +optional
	MemoryThrottle MemoryThrottle `json:"memoryThrottle,omitempty"`
}

func (*ThrottleAction) DeepCopy

func (in *ThrottleAction) DeepCopy() *ThrottleAction

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

func (*ThrottleAction) DeepCopyInto

func (in *ThrottleAction) DeepCopyInto(out *ThrottleAction)

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

type WhitelistPorts added in v0.8.0

type WhitelistPorts struct {
	LPorts string `json:"lports"`
	RPorts string `json:"rports"`
}

func (*WhitelistPorts) DeepCopy added in v0.8.0

func (in *WhitelistPorts) DeepCopy() *WhitelistPorts

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

func (*WhitelistPorts) DeepCopyInto added in v0.8.0

func (in *WhitelistPorts) DeepCopyInto(out *WhitelistPorts)

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