diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index c08aa56f244..c65053cd678 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -317,7 +317,7 @@ func NewContainerManager(mountUtil mount.Interface, cadvisorInterface cadvisor.I if err != nil { return nil, err } - metrics.Register(cm.draManager.NewMetricsCollector()) + metrics.RegisterCollectors(cm.draManager.NewMetricsCollector()) } cm.kubeClient = kubeClient diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index d8bbe14e427..b63dd49bb0d 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1632,7 +1632,8 @@ func (kl *Kubelet) StartGarbageCollection() { // Note that the modules here must not depend on modules that are not initialized here. func (kl *Kubelet) initializeModules(ctx context.Context) error { // Prometheus metrics. - metrics.Register( + metrics.Register() + metrics.RegisterCollectors( collectors.NewVolumeStatsCollector(kl), collectors.NewLogMetricsCollector(kl.StatsProvider.ListPodStats), ) diff --git a/pkg/kubelet/metrics/metrics.go b/pkg/kubelet/metrics/metrics.go index 3383f6a07a3..d960989d2bd 100644 --- a/pkg/kubelet/metrics/metrics.go +++ b/pkg/kubelet/metrics/metrics.go @@ -1194,7 +1194,7 @@ var ( var registerMetrics sync.Once // Register registers all metrics. -func Register(collectors ...metrics.StableCollector) { +func Register() { // Register the metrics. registerMetrics.Do(func() { legacyregistry.MustRegister(FirstNetworkPodStartSLIDuration) @@ -1274,8 +1274,6 @@ func Register(collectors ...metrics.StableCollector) { legacyregistry.MustRegister(OrphanPodCleanedVolumes) legacyregistry.MustRegister(OrphanPodCleanedVolumesErrors) - legacyregistry.CustomMustRegister(collectors...) - if utilfeature.DefaultFeatureGate.Enabled(features.GracefulNodeShutdown) && utilfeature.DefaultFeatureGate.Enabled(features.GracefulNodeShutdownBasedOnPodPriority) { legacyregistry.MustRegister(GracefulShutdownStartTime) @@ -1312,6 +1310,10 @@ func Register(collectors ...metrics.StableCollector) { }) } +func RegisterCollectors(collectors ...metrics.StableCollector) { + legacyregistry.CustomMustRegister(collectors...) +} + // GetGather returns the gatherer. It used by test case outside current package. func GetGather() metrics.Gatherer { return legacyregistry.DefaultGatherer