Skip to content

Commit f6af1ce

Browse files
tstrombergbalopat
authored andcommitted
Update kubeadm restart commands to support v1.13.x (#3483)
* Minor changes for compatibility with v1.13.1 * etcd subcommand should be local instead of all
1 parent ab64cb9 commit f6af1ce

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

pkg/minikube/bootstrapper/kubeadm/kubeadm.go

+19-9
Original file line numberDiff line numberDiff line change
@@ -209,21 +209,31 @@ func addAddons(files *[]assets.CopyableFile) error {
209209
}
210210

211211
func (k *KubeadmBootstrapper) RestartCluster(k8s config.KubernetesConfig) error {
212-
opts := struct {
213-
KubeadmConfigFile string
214-
}{
215-
KubeadmConfigFile: constants.KubeadmConfigFile,
212+
version, err := ParseKubernetesVersion(k8s.KubernetesVersion)
213+
if err != nil {
214+
return errors.Wrap(err, "parsing kubernetes version")
216215
}
217216

218-
b := bytes.Buffer{}
219-
if err := kubeadmRestoreTemplate.Execute(&b, opts); err != nil {
220-
return err
217+
phase := "alpha"
218+
controlPlane := "controlplane"
219+
if version.GTE(semver.MustParse("1.13.0")) {
220+
phase = "init"
221+
controlPlane = "control-plane"
221222
}
222223

223-
if err := k.c.Run(b.String()); err != nil {
224-
return errors.Wrapf(err, "running cmd: %s", b.String())
224+
cmds := []string{
225+
fmt.Sprintf("sudo kubeadm %s phase certs all --config %s", phase, constants.KubeadmConfigFile),
226+
fmt.Sprintf("sudo kubeadm %s phase kubeconfig all --config %s", phase, constants.KubeadmConfigFile),
227+
fmt.Sprintf("sudo kubeadm %s phase %s all --config %s", phase, controlPlane, constants.KubeadmConfigFile),
228+
fmt.Sprintf("sudo kubeadm %s phase etcd local --config %s", phase, constants.KubeadmConfigFile),
225229
}
226230

231+
// Run commands one at a time so that it is easier to root cause failures.
232+
for _, cmd := range cmds {
233+
if err := k.c.Run(cmd); err != nil {
234+
return errors.Wrapf(err, "running cmd: %s", cmd)
235+
}
236+
}
227237
if err := restartKubeProxy(k8s); err != nil {
228238
return errors.Wrap(err, "restarting kube-proxy")
229239
}

pkg/minikube/bootstrapper/kubeadm/templates.go

-7
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,6 @@ RestartSec=10
109109
WantedBy=multi-user.target
110110
`
111111

112-
var kubeadmRestoreTemplate = template.Must(template.New("kubeadmRestoreTemplate").Parse(`
113-
sudo kubeadm alpha phase certs all --config {{.KubeadmConfigFile}} &&
114-
sudo /usr/bin/kubeadm alpha phase kubeconfig all --config {{.KubeadmConfigFile}} &&
115-
sudo /usr/bin/kubeadm alpha phase controlplane all --config {{.KubeadmConfigFile}} &&
116-
sudo /usr/bin/kubeadm alpha phase etcd local --config {{.KubeadmConfigFile}}
117-
`))
118-
119112
var kubeadmInitTemplate = template.Must(template.New("kubeadmInitTemplate").Parse(`
120113
sudo /usr/bin/kubeadm init --config {{.KubeadmConfigFile}} {{if .SkipPreflightChecks}}--skip-preflight-checks{{else}}{{range .Preflights}}--ignore-preflight-errors={{.}} {{end}}{{end}}
121114
`))

0 commit comments

Comments
 (0)