func upgradeNode()

in projects/aws/upgrader/cmd/upgradenode.go [50:76]


func upgradeNode(ctx context.Context, nodeType, k8sVersion, etcdVersion string) error {
	upg := upgrade.NewInPlaceUpgrader(upgrade.WithKubernetesVersion(k8sVersion), upgrade.WithEtcdVersion(etcdVersion))

	switch nodeType {
	case "FirstCP":
		if k8sVersion == "" {
			return errors.New("k8sVersion flag has to be set for first control plane node")
		}

		if err := upg.KubeAdmInFirstCP(ctx); err != nil {
			return fmt.Errorf("upgrading kubeadm in first controlplane node: %v", err)
		}

	case "RestCP":
		if err := upg.KubeAdmInRestCP(ctx); err != nil {
			return fmt.Errorf("upgrading kubeadm in controlplane node: %v", err)
		}
	case "Worker":
		if err := upg.KubeAdmInWorker(ctx); err != nil {
			return fmt.Errorf("upgrading kubeadm in worker node: %v", err)
		}
	default:
		return fmt.Errorf("invalid node type, please specify one of the three types: FirstCP, RestCP or Worker")
	}

	return nil
}