code: func (rsc *ReplicaSetController) Run(workers int, stopCh <-chan struct{}) {
  	defer utilruntime.HandleCrash()
  	defer rsc.queue.ShutDown()
  
  	controllerName := strings.ToLower(rsc.Kind)
  	klog.Infof("Starting %v controller", controllerName)
  	defer klog.Infof("Shutting down %v controller", controllerName)
  
  	if !controller.WaitForCacheSync(rsc.Kind, stopCh, rsc.podListerSynced, rsc.rsListerSynced) {
  		return
  	}
  
  	for i := 0; i < workers; i++ {
  		go wait.Until(rsc.worker, time.Second, stopCh)
  	}
  
  	<-stopCh
  }
docs: // Run begins watching and syncing.