diff --git a/config/crd/bases/config.katalyst.kubewharf.io_adminqosconfigurations.yaml b/config/crd/bases/config.katalyst.kubewharf.io_adminqosconfigurations.yaml index 471a0bcb..3456f555 100644 --- a/config/crd/bases/config.katalyst.kubewharf.io_adminqosconfigurations.yaml +++ b/config/crd/bases/config.katalyst.kubewharf.io_adminqosconfigurations.yaml @@ -277,6 +277,14 @@ spec: ring buffer for calculating NUMA CPU pressure. minimum: 1 type: integer + reclaimedEvictBoundRatio: + description: |- + ReclaimedEvictBoundRatio is the NUMA average CPU usage ratio (0~1) that + triggers the reclaim eviction tier when ForceEvictReclaimed is true. + Recommended relation: ReclaimedEvictBoundRatio <= LowerBoundRatio <= UpperBoundRatio. + maximum: 1 + minimum: 0 + type: number skippedPodKinds: description: SkippedPodKinds is the pod kind that will be skipped when selecting pods to be evicted. diff --git a/pkg/apis/config/v1alpha1/adminqos.go b/pkg/apis/config/v1alpha1/adminqos.go index 97e63bcd..1d7392e1 100644 --- a/pkg/apis/config/v1alpha1/adminqos.go +++ b/pkg/apis/config/v1alpha1/adminqos.go @@ -589,6 +589,14 @@ type NumaCPUPressureEvictionConfig struct { // +kubebuilder:validation:Maximum=1 // +optional LowerBoundRatio *float64 `json:"lowerBoundRatio,omitempty"` + + // ReclaimedEvictBoundRatio is the NUMA average CPU usage ratio (0~1) that + // triggers the reclaim eviction tier when ForceEvictReclaimed is true. + // Recommended relation: ReclaimedEvictBoundRatio <= LowerBoundRatio <= UpperBoundRatio. + // +kubebuilder:validation:Minimum=0 + // +kubebuilder:validation:Maximum=1 + // +optional + ReclaimedEvictBoundRatio *float64 `json:"reclaimedEvictBoundRatio,omitempty"` } // NumaSysCPUPressureEvictionConfig holds the configurations for NUMA-level system CPU pressure eviction. diff --git a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go index c8c1b272..4ec55722 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go @@ -2389,6 +2389,11 @@ func (in *NumaCPUPressureEvictionConfig) DeepCopyInto(out *NumaCPUPressureEvicti *out = make([]string, len(*in)) copy(*out, *in) } + if in.ReclaimedEvictBoundRatio != nil { + in, out := &in.ReclaimedEvictBoundRatio, &out.ReclaimedEvictBoundRatio + *out = new(float64) + **out = **in + } return }