diff --git a/pkg/descheduler/descheduler.go b/pkg/descheduler/descheduler.go index 1f0ae29c3..6ebe35f46 100644 --- a/pkg/descheduler/descheduler.go +++ b/pkg/descheduler/descheduler.go @@ -564,7 +564,7 @@ func bootstrapDescheduler( return nil, nil, fmt.Errorf("failed to create new descheduler: %v", err) } - // Setup Prometheus provider (only for real client case, not for dry run) + // Setup Prometheus provider if err := setupPrometheusProvider(descheduler, namespacedSharedInformerFactory); err != nil { return nil, nil, fmt.Errorf("failed to setup Prometheus provider: %v", err) } @@ -586,6 +586,11 @@ func bootstrapDescheduler( if err != nil { return nil, nil, fmt.Errorf("failed to create dry run descheduler: %v", err) } + + // Setup Prometheus provider (with the real shared informer factory as the secret is only read) + if err := setupPrometheusProvider(descheduler, namespacedSharedInformerFactory); err != nil { + return nil, nil, fmt.Errorf("failed to setup Prometheus provider for the dry run descheduler: %v", err) + } } // init is responsible for starting all informer factories, metrics providers