returnfmt.Errorf("error printing files on dryrun: %v",err)
returnerrors.Wrap(err,"error printing files on dryrun")
}
// Create a kubernetes client and wait for the API server to be healthy (if not dryrunning)
glog.V(1).Infof("creating Kubernetes client")
client,err:=createClient(i.cfg,i.dryRun)
iferr!=nil{
returnfmt.Errorf("error creating client: %v",err)
returnerrors.Wrap(err,"error creating client")
}
// waiter holds the apiclient.Waiter implementation of choice, responsible for querying the API server in various ways and waiting for conditions to be fulfilled
returnfmt.Errorf("certificates stored in secrets, as well as self-hosted clusters are deprecated and won't be supported by `kubeadm join --experimental-control-plane`")
returnerrors.New("certificates stored in secrets, as well as self-hosted clusters are deprecated and won't be supported by `kubeadm join --experimental-control-plane`")
}
// checks if the certificates that must be equal across contolplane instances are provided