code: func (c *Controller) RunKubernetesService(ch chan struct{}) {
  	// wait until process is ready
  	wait.PollImmediateUntil(100*time.Millisecond, func() (bool, error) {
  		var code int
  		c.healthClient.Get().AbsPath("/healthz").Do().StatusCode(&code)
  		return code == http.StatusOK, nil
  	}, ch)
  
  	wait.NonSlidingUntil(func() {
  		// Service definition is not reconciled after first
  		// run, ports and type will be corrected only during
  		// start.
  		if err := c.UpdateKubernetesService(false); err != nil {
  			runtime.HandleError(fmt.Errorf("unable to sync kubernetes service: %v", err))
  		}
  	}, c.EndpointInterval, ch)
  }
docs: // RunKubernetesService periodically updates the kubernetes service