From 69bc685556857e4cdf3f61e9c1303d753d7210be Mon Sep 17 00:00:00 2001 From: Francesco Romani Date: Mon, 13 Mar 2023 08:35:19 +0100 Subject: [PATCH] node: podresources: graduate to GA Lock the feature gate to ON and simplify the code accordingly. Signed-off-by: Francesco Romani --- cmd/kubelet/app/server.go | 4 +--- pkg/features/kube_features.go | 5 +++-- pkg/kubelet/metrics/metrics.go | 23 ++++++++++------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index d5875c0f021..7a563472862 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -1187,9 +1187,7 @@ func startKubelet(k kubelet.Bootstrap, podCfg *config.PodConfig, kubeCfg *kubele if kubeCfg.ReadOnlyPort > 0 { go k.ListenAndServeReadOnly(netutils.ParseIPSloppy(kubeCfg.Address), uint(kubeCfg.ReadOnlyPort)) } - if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResources) { - go k.ListenAndServePodResources() - } + go k.ListenAndServePodResources() } func createAndInitKubelet(kubeServer *options.KubeletServer, diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 4bba72caea9..26a718084ac 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -440,9 +440,10 @@ const ( // All the node components such as CRI need to be running in the same user namespace. KubeletInUserNamespace featuregate.Feature = "KubeletInUserNamespace" - // owner: @dashpole + // owner: @dashpole, @ffromani (only for GA graduation) // alpha: v1.13 // beta: v1.15 + // GA: v1.28 // // Enables the kubelet's pod resources grpc endpoint KubeletPodResources featuregate.Feature = "KubeletPodResources" @@ -991,7 +992,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS KubeletInUserNamespace: {Default: false, PreRelease: featuregate.Alpha}, - KubeletPodResources: {Default: true, PreRelease: featuregate.Beta}, + KubeletPodResources: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.28, remove in 1.30 KubeletPodResourcesDynamicResources: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/pkg/kubelet/metrics/metrics.go b/pkg/kubelet/metrics/metrics.go index e0395d3292b..e7812fd3e96 100644 --- a/pkg/kubelet/metrics/metrics.go +++ b/pkg/kubelet/metrics/metrics.go @@ -776,19 +776,16 @@ func Register(collectors ...metrics.StableCollector) { legacyregistry.MustRegister(OrphanedRuntimePodTotal) legacyregistry.MustRegister(RestartedPodTotal) legacyregistry.MustRegister(ManagedEphemeralContainers) - if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResources) { - legacyregistry.MustRegister(PodResourcesEndpointRequestsTotalCount) - - if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResourcesGetAllocatable) { - legacyregistry.MustRegister(PodResourcesEndpointRequestsListCount) - legacyregistry.MustRegister(PodResourcesEndpointRequestsGetAllocatableCount) - legacyregistry.MustRegister(PodResourcesEndpointErrorsListCount) - legacyregistry.MustRegister(PodResourcesEndpointErrorsGetAllocatableCount) - } - if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResourcesGet) { - legacyregistry.MustRegister(PodResourcesEndpointRequestsGetCount) - legacyregistry.MustRegister(PodResourcesEndpointErrorsGetCount) - } + legacyregistry.MustRegister(PodResourcesEndpointRequestsTotalCount) + if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResourcesGetAllocatable) { + legacyregistry.MustRegister(PodResourcesEndpointRequestsListCount) + legacyregistry.MustRegister(PodResourcesEndpointRequestsGetAllocatableCount) + legacyregistry.MustRegister(PodResourcesEndpointErrorsListCount) + legacyregistry.MustRegister(PodResourcesEndpointErrorsGetAllocatableCount) + } + if utilfeature.DefaultFeatureGate.Enabled(features.KubeletPodResourcesGet) { + legacyregistry.MustRegister(PodResourcesEndpointRequestsGetCount) + legacyregistry.MustRegister(PodResourcesEndpointErrorsGetCount) } legacyregistry.MustRegister(StartedPodsTotal) legacyregistry.MustRegister(StartedPodsErrorsTotal)