Skip to content

Commit ae7dce7

Browse files
authored
Merge pull request kubernetes#91930 from RenaudWasTaken/DisableAcceleratorUsageMetrics
Add DisableAcceleratorUsageMetrics Feature Gate
2 parents 0b678bb + 34dc785 commit ae7dce7

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

pkg/features/kube_features.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,12 @@ const (
639639
//
640640
// Allows kube-proxy to create DSR loadbalancers for Windows
641641
WinDSR featuregate.Feature = "WinDSR"
642+
643+
// owner: @RenaudWasTaken @dashpole
644+
// alpha: v1.19
645+
//
646+
// Disables Accelerator Metrics Collected by Kubelet
647+
DisableAcceleratorUsageMetrics featuregate.Feature = "DisableAcceleratorUsageMetrics"
642648
)
643649

644650
func init() {
@@ -737,6 +743,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
737743
SetHostnameAsFQDN: {Default: false, PreRelease: featuregate.Alpha},
738744
WinOverlay: {Default: false, PreRelease: featuregate.Alpha},
739745
WinDSR: {Default: false, PreRelease: featuregate.Alpha},
746+
DisableAcceleratorUsageMetrics: {Default: false, PreRelease: featuregate.Alpha},
740747

741748
// inherited features from generic apiserver, relisted here to get a conflict if it is changed
742749
// unintentionally on either side:

pkg/kubelet/server/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ go_library(
1818
"//pkg/api/legacyscheme:go_default_library",
1919
"//pkg/apis/core:go_default_library",
2020
"//pkg/apis/core/v1/validation:go_default_library",
21+
"//pkg/features:go_default_library",
2122
"//pkg/kubelet/apis/podresources:go_default_library",
2223
"//pkg/kubelet/apis/podresources/v1alpha1:go_default_library",
2324
"//pkg/kubelet/apis/resourcemetrics/v1alpha1:go_default_library",
@@ -45,6 +46,7 @@ go_library(
4546
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
4647
"//staging/src/k8s.io/apiserver/pkg/server/httplog:go_default_library",
4748
"//staging/src/k8s.io/apiserver/pkg/server/routes:go_default_library",
49+
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
4850
"//staging/src/k8s.io/apiserver/pkg/util/flushwriter:go_default_library",
4951
"//staging/src/k8s.io/component-base/configz:go_default_library",
5052
"//staging/src/k8s.io/component-base/logs:go_default_library",

pkg/kubelet/server/server.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import (
5555
"k8s.io/apiserver/pkg/server/healthz"
5656
"k8s.io/apiserver/pkg/server/httplog"
5757
"k8s.io/apiserver/pkg/server/routes"
58+
utilfeature "k8s.io/apiserver/pkg/util/feature"
5859
"k8s.io/apiserver/pkg/util/flushwriter"
5960
"k8s.io/component-base/configz"
6061
"k8s.io/component-base/logs"
@@ -63,6 +64,7 @@ import (
6364
"k8s.io/kubernetes/pkg/api/legacyscheme"
6465
api "k8s.io/kubernetes/pkg/apis/core"
6566
"k8s.io/kubernetes/pkg/apis/core/v1/validation"
67+
"k8s.io/kubernetes/pkg/features"
6668
"k8s.io/kubernetes/pkg/kubelet/apis/podresources"
6769
podresourcesapi "k8s.io/kubernetes/pkg/kubelet/apis/podresources/v1alpha1"
6870
"k8s.io/kubernetes/pkg/kubelet/apis/resourcemetrics/v1alpha1"
@@ -350,16 +352,22 @@ func (s *Server) InstallDefaultHandlers(enableCAdvisorJSONEndpoints bool) {
350352
r := compbasemetrics.NewKubeRegistry()
351353

352354
includedMetrics := cadvisormetrics.MetricSet{
353-
cadvisormetrics.CpuUsageMetrics: struct{}{},
354-
cadvisormetrics.MemoryUsageMetrics: struct{}{},
355-
cadvisormetrics.CpuLoadMetrics: struct{}{},
356-
cadvisormetrics.DiskIOMetrics: struct{}{},
357-
cadvisormetrics.DiskUsageMetrics: struct{}{},
358-
cadvisormetrics.NetworkUsageMetrics: struct{}{},
359-
cadvisormetrics.AcceleratorUsageMetrics: struct{}{},
360-
cadvisormetrics.AppMetrics: struct{}{},
361-
cadvisormetrics.ProcessMetrics: struct{}{},
355+
cadvisormetrics.CpuUsageMetrics: struct{}{},
356+
cadvisormetrics.MemoryUsageMetrics: struct{}{},
357+
cadvisormetrics.CpuLoadMetrics: struct{}{},
358+
cadvisormetrics.DiskIOMetrics: struct{}{},
359+
cadvisormetrics.DiskUsageMetrics: struct{}{},
360+
cadvisormetrics.NetworkUsageMetrics: struct{}{},
361+
cadvisormetrics.AppMetrics: struct{}{},
362+
cadvisormetrics.ProcessMetrics: struct{}{},
362363
}
364+
365+
// Only add the Accelerator metrics if the feature is inactive
366+
// Note: Accelerator metrics will be removed in the future, hence the feature gate.
367+
if !utilfeature.DefaultFeatureGate.Enabled(features.DisableAcceleratorUsageMetrics) {
368+
includedMetrics.Add(cadvisormetrics.MetricKind(cadvisormetrics.AcceleratorUsageMetrics))
369+
}
370+
363371
cadvisorOpts := cadvisorv2.RequestOptions{
364372
IdType: cadvisorv2.TypeName,
365373
Count: 1,

0 commit comments

Comments
 (0)