EnforceVersionPolicies makes sure that the version the user specified is valid to upgrade to There are both fatal and skippable (with --force) errors
InteractivelyConfirmUpgrade asks the user whether they _really_ want to upgrade.
NewCmdUpgrade returns the cobra command for `kubeadm upgrade`
func PerformControlPlaneUpgrade(flags *applyFlags, client clientset.Interface, waiter apiclient.Waiter, internalcfg *kubeadmapi.InitConfiguration) error
PerformControlPlaneUpgrade actually performs the upgrade procedure for the cluster of your type (self-hosted or static-pod-hosted)