code: func (nc *Controller) addPodEvictorForNewZone(node *v1.Node) {
  	nc.evictorLock.Lock()
  	defer nc.evictorLock.Unlock()
  	zone := utilnode.GetZoneKey(node)
  	if _, found := nc.zoneStates[zone]; !found {
  		nc.zoneStates[zone] = stateInitial
  		if !nc.useTaintBasedEvictions {
  			nc.zonePodEvictor[zone] =
  				scheduler.NewRateLimitedTimedQueue(
  					flowcontrol.NewTokenBucketRateLimiter(nc.evictionLimiterQPS, scheduler.EvictionRateLimiterBurst))
  		} else {
  			nc.zoneNoExecuteTainter[zone] =
  				scheduler.NewRateLimitedTimedQueue(
  					flowcontrol.NewTokenBucketRateLimiter(nc.evictionLimiterQPS, scheduler.EvictionRateLimiterBurst))
  		}
  		// Init the metric for the new zone.
  		klog.Infof("Initializing eviction metric for zone: %v", zone)
  		evictionsNumber.WithLabelValues(zone).Add(0)
  	}
  }
docs: // addPodEvictorForNewZone checks if new zone appeared, and if so add new evictor.