From a9666d703f9faf686d4463d34bef57b7420b0b9d Mon Sep 17 00:00:00 2001 From: "wangzhe.21" Date: Mon, 8 Jul 2024 16:40:24 +0800 Subject: [PATCH] add predict overcommit ratio key consts --- ...atalyst.kubewharf.io_nodeovercommitconfigs.yaml | 5 +++++ pkg/apis/config/v1alpha1/zz_generated.deepcopy.go | 5 +++++ pkg/apis/overcommit/v1alpha1/types.go | 4 ++++ pkg/client/clientset/versioned/fake/register.go | 14 +++++++------- pkg/client/clientset/versioned/scheme/register.go | 14 +++++++------- pkg/consts/overcommit.go | 2 ++ 6 files changed, 30 insertions(+), 14 deletions(-) diff --git a/config/crd/bases/overcommit.katalyst.kubewharf.io_nodeovercommitconfigs.yaml b/config/crd/bases/overcommit.katalyst.kubewharf.io_nodeovercommitconfigs.yaml index 1a4e26a..c194312 100644 --- a/config/crd/bases/overcommit.katalyst.kubewharf.io_nodeovercommitconfigs.yaml +++ b/config/crd/bases/overcommit.katalyst.kubewharf.io_nodeovercommitconfigs.yaml @@ -45,6 +45,11 @@ spec: spec: description: NodeOvercommitConfigSpec is a description of a NodeOvercommitConfig properties: + enableDynamicOvercommit: + description: enableDynamicOvercommit determines whether to use the + dynamic overcommitment automatically calculated by Katalyst as the + overcommitment actually applied to the node. + type: boolean nodeOvercommitSelectorVal: description: NodeOvercommitSelectorVal is the value of node label selector with key consts.NodeOvercommitSelectorKey, it decides whether diff --git a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go index 1009768..fa03c84 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go @@ -455,6 +455,11 @@ func (in *CPUPressureEvictionConfig) DeepCopyInto(out *CPUPressureEvictionConfig *out = new(float64) **out = **in } + if in.LoadLowerBoundRatio != nil { + in, out := &in.LoadLowerBoundRatio, &out.LoadLowerBoundRatio + *out = new(float64) + **out = **in + } if in.LoadThresholdMetPercentage != nil { in, out := &in.LoadThresholdMetPercentage, &out.LoadThresholdMetPercentage *out = new(float64) diff --git a/pkg/apis/overcommit/v1alpha1/types.go b/pkg/apis/overcommit/v1alpha1/types.go index 33da6d8..f1b6ad9 100644 --- a/pkg/apis/overcommit/v1alpha1/types.go +++ b/pkg/apis/overcommit/v1alpha1/types.go @@ -32,6 +32,10 @@ type NodeOvercommitConfigSpec struct { // cpu,memory are supported. // +optional ResourceOvercommitRatio map[v1.ResourceName]string `json:"resourceOvercommitRatio,omitempty"` + + // enableDynamicOvercommit determines whether to use the dynamic overcommitment automatically calculated by Katalyst as the overcommitment actually applied to the node. + // +optional + EnableDynamicOvercommit bool `json:"enableDynamicOvercommit"` } type NodeOvercommitConfigStatus struct { diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 9aaf89e..0f7d311 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -51,14 +51,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index ffa9cdb..17ad6fb 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -51,14 +51,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/pkg/consts/overcommit.go b/pkg/consts/overcommit.go index 3c2efce..eb9b17f 100644 --- a/pkg/consts/overcommit.go +++ b/pkg/consts/overcommit.go @@ -22,6 +22,8 @@ const ( NodeAnnotationMemoryOvercommitRatioKey = "katalyst.kubewharf.io/memory_overcommit_ratio" NodeAnnotationRealtimeCPUOvercommitRatioKey = "katalyst.kubewharf.io/realtime_cpu_overcommit_ratio" NodeAnnotationRealtimeMemoryOvercommitRatioKey = "katalyst.kubewharf.io/realtime_memory_overcommit_ratio" + NodeAnnotationPredictCPUOvercommitRatioKey = "katalyst.kubewharf.io/predict_cpu_overcommit_ratio" + NodeAnnotationPredictMemoryOvercommitRatioKey = "katalyst.kubewharf.io/predict_memory_overcommit_ratio" NodeAnnotationOriginalCapacityCPUKey = "katalyst.kubewharf.io/original_capacity_cpu" NodeAnnotationOriginalCapacityMemoryKey = "katalyst.kubewharf.io/original_capacity_memory"