code: func NewCmdUpgrade(out io.Writer) *cobra.Command {
  	flags := &applyPlanFlags{
  		kubeConfigPath:            kubeadmconstants.GetAdminKubeConfigPath(),
  		cfgPath:                   "",
  		featureGatesString:        "",
  		allowExperimentalUpgrades: false,
  		allowRCUpgrades:           false,
  		printConfig:               false,
  		out:                       out,
  	}
  
  	cmd := &cobra.Command{
  		Use:   "upgrade",
  		Short: "Upgrade your cluster smoothly to a newer version with this command",
  		RunE:  cmdutil.SubCmdRunE("upgrade"),
  	}
  
  	cmd.AddCommand(NewCmdApply(flags))
  	cmd.AddCommand(NewCmdPlan(flags))
  	cmd.AddCommand(NewCmdDiff(out))
  	cmd.AddCommand(NewCmdNode())
  	return cmd
  }
docs: // NewCmdUpgrade returns the cobra command for `kubeadm upgrade`