diff --git a/cmd/discovery/main.go b/cmd/discovery/main.go index 4a5e48e8d39..76e16085ede 100644 --- a/cmd/discovery/main.go +++ b/cmd/discovery/main.go @@ -31,7 +31,6 @@ import ( "github.com/pingcap/tidb-operator/pkg/pdapi" "github.com/pingcap/tidb-operator/pkg/version" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/client-go/informers" kubeinformers "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" @@ -91,24 +90,25 @@ func main() { tcTls = true } // informers - options := []informers.SharedInformerOption{ - informers.WithNamespace(os.Getenv("MY_POD_NAMESPACE")), + options := []kubeinformers.SharedInformerOption{ + kubeinformers.WithNamespace(os.Getenv("MY_POD_NAMESPACE")), } kubeInformerFactory := kubeinformers.NewSharedInformerFactoryWithOptions(kubeCli, 30*time.Minute, options...) - secretInformer := kubeInformerFactory.Core().V1().Secrets() + secretInformer := kubeInformerFactory.Core().V1().Secrets().Informer() ctx, cancel := context.WithCancel(context.Background()) defer cancel() - go kubeInformerFactory.Start(ctx.Done()) + kubeInformerFactory.Start(ctx.Done()) // waiting for the shared informer's store has synced. - cache.WaitForCacheSync(ctx.Done(), secretInformer.Informer().HasSynced) + cache.WaitForCacheSync(ctx.Done(), secretInformer.HasSynced) go wait.Forever(func() { addr := fmt.Sprintf("0.0.0.0:%d", port) klog.Infof("starting TiDB Discovery server, listening on %s", addr) - discoveryServer := server.NewServer(pdapi.NewDefaultPDControl(secretInformer.Lister()), dmapi.NewDefaultMasterControl(secretInformer.Lister()), cli, kubeCli) + lister := kubeInformerFactory.Core().V1().Secrets().Lister() + discoveryServer := server.NewServer(pdapi.NewDefaultPDControl(lister), dmapi.NewDefaultMasterControl(lister), cli, kubeCli) discoveryServer.ListenAndServe(addr) }, 5*time.Second) go wait.Forever(func() {