diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index 84dbd545842..4b3b096191d 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -63,7 +63,9 @@ import ( "k8s.io/component-base/configz" "k8s.io/component-base/logs" compbasemetrics "k8s.io/component-base/metrics" + metricsfeatures "k8s.io/component-base/metrics/features" "k8s.io/component-base/metrics/legacyregistry" + "k8s.io/component-base/metrics/prometheus/slis" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1" podresourcesapi "k8s.io/kubelet/pkg/apis/podresources/v1" podresourcesapiv1alpha1 "k8s.io/kubelet/pkg/apis/podresources/v1alpha1" @@ -84,6 +86,10 @@ import ( "k8s.io/kubernetes/pkg/kubelet/util" ) +func init() { + utilruntime.Must(metricsfeatures.AddFeatureGates(utilfeature.DefaultMutableFeatureGate)) +} + const ( metricsPath = "/metrics" cadvisorMetricsPath = "/metrics/cadvisor" @@ -358,6 +364,9 @@ func (s *Server) InstallDefaultHandlers() { healthz.NamedCheck("syncloop", s.syncLoopHealthCheck), ) + if utilfeature.DefaultFeatureGate.Enabled(metricsfeatures.ComponentSLIs) { + slis.SLIMetricsWithReset{}.Install(s.restfulCont) + } s.addMetricsBucketMatcher("pods") ws := new(restful.WebService) ws.