Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the crane API. +k8s:deepcopy-gen=package,register +groupName=ensurance.crane.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AvoidanceAction
- type AvoidanceActionList
- type AvoidanceActionSpec
- type AvoidanceActionStatus
- type AvoidanceActionStrategy
- type CPUBurst
- type CPUQOS
- type CPUSet
- type CPUThrottle
- type CompressionOversold
- type CompressionPreference
- type DevNetIOLimits
- type DiskIOLimit
- type DiskIOQOS
- type DiskIOWeight
- type ElasticCoreCpuLimit
- type ElasticCoreCpuLimitPeriod
- type ElasticCpuAvoidance
- type ElasticCpuLimit
- type ElasticNodeCpuLimit
- type EvictionAction
- type HtIsolation
- type MemAsyncReclaim
- type MemLimit
- type MemPageCacheLimit
- type MemWatermark
- type MemoryCompression
- type MemoryQOS
- type MemoryThrottle
- type MetricRule
- type NetIOLimits
- type NetIOQOS
- type NetLimits
- type NodeLocalGet
- type NodeMemoryCompression
- type NodeQOS
- type NodeQOSList
- type NodeQOSSpec
- type NodeQOSStatus
- type NodeQualityProbe
- type PodQOS
- type PodQOSEnsurancePolicyStatus
- type PodQOSList
- type PodQOSSpec
- type PodQOSStatus
- type PodQualityProbe
- type QOSEnsurance
- type RDT
- type RDTValue
- type ResourceQOS
- type Rule
- type ScopeName
- type ScopeSelector
- type ScopedResourceSelectorRequirement
- type ThrottleAction
- type WhitelistPorts
Constants ¶
const ( PreferenceTiny CompressionPreference = "Tiny" PreferenceNormal CompressionPreference = "Normal" PreferenceFileOnly CompressionPreference = "FileOnly" PreferenceAnonOnly CompressionPreference = "AnonOnly" OversoldTransparent CompressionOversold = "Transparent" OversoldNone CompressionOversold = "None" OversoldAllow CompressionOversold = "Allow" )
const GroupName = "ensurance.crane.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
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 ¶
func (in *AvoidanceActionStatus) DeepCopy() *AvoidanceActionStatus
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUBurst.
func (*CPUBurst) DeepCopyInto ¶ added in v0.8.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUQOS.
func (*CPUQOS) DeepCopyInto ¶ added in v0.8.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUSet.
func (*CPUSet) DeepCopyInto ¶ added in v0.8.0
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 CompressionOversold ¶ added in v0.12.0
type CompressionOversold string
type CompressionPreference ¶ added in v0.12.0
type CompressionPreference string
CompressionPreference provides a quick way to set the frequency, ratio and size of compression.
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIOQOS.
func (*DiskIOQOS) DeepCopyInto ¶ added in v0.8.0
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
func (in *ElasticCoreCpuLimitPeriod) DeepCopy() *ElasticCoreCpuLimitPeriod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticCoreCpuLimitPeriod.
func (*ElasticCoreCpuLimitPeriod) DeepCopyInto ¶ added in v0.8.0
func (in *ElasticCoreCpuLimitPeriod) DeepCopyInto(out *ElasticCoreCpuLimitPeriod)
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,omitempty"`
AsyncDistanceFactor *int64 `json:"asyncDistanceFactor,omitempty"`
}
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemLimit.
func (*MemLimit) DeepCopyInto ¶ added in v0.8.0
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,omitempty"`
PageCacheReclaimRatio *int64 `json:"pageCacheReclaimRatio,omitempty"`
}
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,omitempty"`
}
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 MemoryCompression ¶ added in v0.12.0
type MemoryCompression struct {
// +kubebuilder:validation:Default=false
Enable bool `json:"enable,omitempty"`
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=4
CompressionLevel int `json:"compressionLevel,omitempty"`
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Tiny;Normal;FileOnly;AnonOnly
// +kubebuilder:default=Tiny
// +optional
Preference CompressionPreference `json:"preference"`
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Transparent;None;Allow
// +kubebuilder:default=Allow
// +optional
Oversold CompressionOversold `json:"oversold"`
}
func (*MemoryCompression) DeepCopy ¶ added in v0.12.0
func (in *MemoryCompression) DeepCopy() *MemoryCompression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryCompression.
func (*MemoryCompression) DeepCopyInto ¶ added in v0.12.0
func (in *MemoryCompression) DeepCopyInto(out *MemoryCompression)
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"`
MemoryCompression MemoryCompression `json:"memoryCompression,omitempty"`
}
func (*MemoryQOS) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryQOS.
func (*MemoryQOS) DeepCopyInto ¶ added in v0.8.0
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetIOQOS.
func (*NetIOQOS) DeepCopyInto ¶ added in v0.8.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetLimits.
func (*NetLimits) DeepCopyInto ¶ added in v0.8.0
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 NodeMemoryCompression ¶ added in v0.12.0
type NodeMemoryCompression struct {
// +kubebuilder:validation:Default=false
Enable bool `json:"enable,omitempty"`
}
func (*NodeMemoryCompression) DeepCopy ¶ added in v0.12.0
func (in *NodeMemoryCompression) DeepCopy() *NodeMemoryCompression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeMemoryCompression.
func (*NodeMemoryCompression) DeepCopyInto ¶ added in v0.12.0
func (in *NodeMemoryCompression) DeepCopyInto(out *NodeMemoryCompression)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeQOS.
func (*NodeQOS) DeepCopyInto ¶ added in v0.8.0
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
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"`
MemoryCompression NodeMemoryCompression `json:"memoryCompression,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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOS.
func (*PodQOS) DeepCopyInto ¶ added in v0.8.0
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
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 ¶
func (in *PodQOSEnsurancePolicyStatus) DeepCopy() *PodQOSEnsurancePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOSEnsurancePolicyStatus.
func (*PodQOSEnsurancePolicyStatus) DeepCopyInto ¶
func (in *PodQOSEnsurancePolicyStatus) DeepCopyInto(out *PodQOSEnsurancePolicyStatus)
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
func (*RDT) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDT.
func (*RDT) DeepCopyInto ¶ added in v0.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDTValue ¶ added in v0.8.0
func (RDTValue) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDTValue.
func (RDTValue) DeepCopyInto ¶ added in v0.8.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶ added in v0.8.0
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
func (in *ScopedResourceSelectorRequirement) DeepCopy() *ScopedResourceSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopedResourceSelectorRequirement.
func (*ScopedResourceSelectorRequirement) DeepCopyInto ¶ added in v0.8.0
func (in *ScopedResourceSelectorRequirement) DeepCopyInto(out *ScopedResourceSelectorRequirement)
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
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.