code: func runCommand(cmd *cobra.Command, args []string, opts *options.Options) error {
  	verflag.PrintAndExitIfRequested()
  	utilflag.PrintFlags(cmd.Flags())
  
  	if len(args) != 0 {
  		fmt.Fprint(os.Stderr, "arguments are not supported\n")
  	}
  
  	if errs := opts.Validate(); len(errs) > 0 {
  		fmt.Fprintf(os.Stderr, "%v\n", utilerrors.NewAggregate(errs))
  		os.Exit(1)
  	}
  
  	if len(opts.WriteConfigTo) > 0 {
  		if err := options.WriteConfigFile(opts.WriteConfigTo, &opts.ComponentConfig); err != nil {
  			fmt.Fprintf(os.Stderr, "%v\n", err)
  			os.Exit(1)
  		}
  		klog.Infof("Wrote configuration to: %s\n", opts.WriteConfigTo)
  	}
  
  	c, err := opts.Config()
  	if err != nil {
  		fmt.Fprintf(os.Stderr, "%v\n", err)
  		os.Exit(1)
  	}
  
  	stopCh := make(chan struct{})
  
  	// Get the completed config
  	cc := c.Complete()
  
  	// To help debugging, immediately log version
  	klog.Infof("Version: %+v", version.Get())
  
  	// Apply algorithms based on feature gates.
  	// TODO: make configurable?
  	algorithmprovider.ApplyFeatureGates()
  
  	// Configz registration.
  	if cz, err := configz.New("componentconfig"); err == nil {
  		cz.Set(cc.ComponentConfig)
  	} else {
  		return fmt.Errorf("unable to register configz: %s", err)
  	}
  
  	return Run(cc, stopCh)
  }
docs: // runCommand runs the scheduler.