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 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 MemoryQOS
- type MemoryThrottle
- type MetricRule
- type NetIOLimits
- type NetIOQOS
- type NetLimits
- type NodeLocalGet
- 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 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 ¶
type CPUBurst struct { // BurstQuota define the burst quota for the pods. BurstQuota string `json:"burstQuota,omitempty"` }
func (*CPUBurst) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUBurst.
func (*CPUBurst) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUQOS ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUQOS.
func (*CPUQOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUSet ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUSet.
func (*CPUSet) DeepCopyInto ¶
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 ¶
type DevNetIOLimits map[string]NetIOLimits
func (DevNetIOLimits) DeepCopy ¶
func (in DevNetIOLimits) DeepCopy() DevNetIOLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevNetIOLimits.
func (DevNetIOLimits) DeepCopyInto ¶
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 ¶
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 ¶
func (in *DiskIOLimit) DeepCopy() *DiskIOLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIOLimit.
func (*DiskIOLimit) DeepCopyInto ¶
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 ¶
type DiskIOQOS struct { DiskIOWeight DiskIOWeight `json:"diskIOWeight,omitempty"` DiskIOLimit DiskIOLimit `json:"diskIOLimit,omitempty"` }
func (*DiskIOQOS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIOQOS.
func (*DiskIOQOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskIOWeight ¶
type DiskIOWeight struct {
Weight int64 `json:"weight,omitempty"`
}
func (*DiskIOWeight) DeepCopy ¶
func (in *DiskIOWeight) DeepCopy() *DiskIOWeight
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIOWeight.
func (*DiskIOWeight) DeepCopyInto ¶
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 ¶
type ElasticCoreCpuLimit struct { CoreNum string `json:"coreNum,omitempty"` Percent int64 `json:"percent,omitempty"` }
func (*ElasticCoreCpuLimit) DeepCopy ¶
func (in *ElasticCoreCpuLimit) DeepCopy() *ElasticCoreCpuLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticCoreCpuLimit.
func (*ElasticCoreCpuLimit) DeepCopyInto ¶
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 ¶
type ElasticCoreCpuLimitPeriod struct { SchduleTime string `json:"offlineCpuLimit,omitempty"` CoreNum string `json:"coreNum,omitempty"` Percent int64 `json:"percent,omitempty"` }
func (*ElasticCoreCpuLimitPeriod) DeepCopy ¶
func (in *ElasticCoreCpuLimitPeriod) DeepCopy() *ElasticCoreCpuLimitPeriod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticCoreCpuLimitPeriod.
func (*ElasticCoreCpuLimitPeriod) DeepCopyInto ¶
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 ¶
type ElasticCpuAvoidance struct {
Enable bool `json:"enable,omitempty"`
}
func (*ElasticCpuAvoidance) DeepCopy ¶
func (in *ElasticCpuAvoidance) DeepCopy() *ElasticCpuAvoidance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticCpuAvoidance.
func (*ElasticCpuAvoidance) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ElasticCpuLimit) DeepCopy() *ElasticCpuLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticCpuLimit.
func (*ElasticCpuLimit) DeepCopyInto ¶
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 ¶
type ElasticNodeCpuLimit struct {
Percent int64 `json:"percent,omitempty"`
}
func (*ElasticNodeCpuLimit) DeepCopy ¶
func (in *ElasticNodeCpuLimit) DeepCopy() *ElasticNodeCpuLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticNodeCpuLimit.
func (*ElasticNodeCpuLimit) DeepCopyInto ¶
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 ¶
type HtIsolation struct {
Enable bool `json:"enable,omitempty"`
}
func (*HtIsolation) DeepCopy ¶
func (in *HtIsolation) DeepCopy() *HtIsolation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HtIsolation.
func (*HtIsolation) DeepCopyInto ¶
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 ¶
type MemAsyncReclaim struct { AsyncRatio *int64 `json:"asyncRatio"` AsyncDistanceFactor *int64 `json:"asyncDistanceFactor"` }
func (*MemAsyncReclaim) DeepCopy ¶
func (in *MemAsyncReclaim) DeepCopy() *MemAsyncReclaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemAsyncReclaim.
func (*MemAsyncReclaim) DeepCopyInto ¶
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 ¶
type MemLimit struct { PageCacheLimitGlobal *bool `json:"pageCacheLimitGlobal,omitempty"` PageCacheLimitRetryTimes *int64 `json:"pageCacheLimitRetryTimes,omitempty"` }
func (*MemLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemLimit.
func (*MemLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemPageCacheLimit ¶
type MemPageCacheLimit struct { PageCacheMaxRatio *int64 `json:"pageCacheMaxRatio"` PageCacheReclaimRatio *int64 `json:"pageCacheReclaimRatio"` }
func (*MemPageCacheLimit) DeepCopy ¶
func (in *MemPageCacheLimit) DeepCopy() *MemPageCacheLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemPageCacheLimit.
func (*MemPageCacheLimit) DeepCopyInto ¶
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 ¶
type MemWatermark struct {
WatermarkRatio *int `json:"watermarkRatio"`
}
MemWatermark to set memory watermark priority
func (*MemWatermark) DeepCopy ¶
func (in *MemWatermark) DeepCopy() *MemWatermark
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemWatermark.
func (*MemWatermark) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryQOS.
func (*MemoryQOS) DeepCopyInto ¶
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 ¶
func (*NetIOLimits) DeepCopy ¶
func (in *NetIOLimits) DeepCopy() *NetIOLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetIOLimits.
func (*NetIOLimits) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetIOQOS.
func (*NetIOQOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetLimits ¶
type NetLimits struct { RXBpsMin *int64 `json:"rxBpsMin"` RXBpsMax *int64 `json:"rxBpsMax"` TXBpsMin *int64 `json:"txBpsMin"` TXBpsMax *int64 `json:"txBpsMax"` }
func (*NetLimits) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetLimits.
func (*NetLimits) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeQOS.
func (*NodeQOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeQOS) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeQOSList ¶
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 ¶
func (in *NodeQOSList) DeepCopy() *NodeQOSList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeQOSList.
func (*NodeQOSList) DeepCopyInto ¶
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 ¶
func (in *NodeQOSList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeQOSSpec ¶
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 ¶
func (in *NodeQOSSpec) DeepCopy() *NodeQOSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeQOSSpec.
func (*NodeQOSSpec) DeepCopyInto ¶
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 ¶
type NodeQOSStatus struct { }
NodeQOSStatus defines the observed status of NodeQOS
func (*NodeQOSStatus) DeepCopy ¶
func (in *NodeQOSStatus) DeepCopy() *NodeQOSStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeQOSStatus.
func (*NodeQOSStatus) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOS.
func (*PodQOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodQOS) DeepCopyObject ¶
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 ¶
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 ¶
func (in *PodQOSList) DeepCopy() *PodQOSList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOSList.
func (*PodQOSList) DeepCopyInto ¶
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 ¶
func (in *PodQOSList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodQOSSpec ¶
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 ¶
func (in *PodQOSSpec) DeepCopy() *PodQOSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOSSpec.
func (*PodQOSSpec) DeepCopyInto ¶
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 ¶
type PodQOSStatus struct { }
func (*PodQOSStatus) DeepCopy ¶
func (in *PodQOSStatus) DeepCopy() *PodQOSStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQOSStatus.
func (*PodQOSStatus) DeepCopyInto ¶
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 ¶
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 ¶
func (in *PodQualityProbe) DeepCopy() *PodQualityProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodQualityProbe.
func (*PodQualityProbe) DeepCopyInto ¶
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 ¶
type QOSEnsurance struct {
Rule Rule `json:"rule,omitempty"`
}
QOSEnsurance defines the policy that
func (*QOSEnsurance) DeepCopy ¶
func (in *QOSEnsurance) DeepCopy() *QOSEnsurance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QOSEnsurance.
func (*QOSEnsurance) DeepCopyInto ¶
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 ¶
func (*RDT) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDT.
func (*RDT) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDTValue ¶
func (RDTValue) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDTValue.
func (RDTValue) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceQOS ¶
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 ¶
func (in *ResourceQOS) DeepCopy() *ResourceQOS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQOS.
func (*ResourceQOS) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScopeName ¶
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 ¶
type ScopeSelector struct { // A list of scope selector requirements by scope of the resources. // +optional MatchExpressions []ScopedResourceSelectorRequirement `json:"matchExpressions,omitempty"` }
func (*ScopeSelector) DeepCopy ¶
func (in *ScopeSelector) DeepCopy() *ScopeSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeSelector.
func (*ScopeSelector) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ScopedResourceSelectorRequirement) DeepCopy() *ScopedResourceSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopedResourceSelectorRequirement.
func (*ScopedResourceSelectorRequirement) DeepCopyInto ¶
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 ¶
func (*WhitelistPorts) DeepCopy ¶
func (in *WhitelistPorts) DeepCopy() *WhitelistPorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WhitelistPorts.
func (*WhitelistPorts) DeepCopyInto ¶
func (in *WhitelistPorts) DeepCopyInto(out *WhitelistPorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.