From bad7a3fbbdd3f0199727eb5c34bccb21344f0af1 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Fri, 12 Jul 2019 10:26:41 -0700 Subject: [PATCH] kubeadm/*/phases/init/certs,kubeconfig: add "kubernetes-version" flag If empty "--kubernetes-version" is given (as it's not configurable now) k8s.io/kubernetes/cmd/kubeadm/app/util/version.go.KubernetesReleaseVersion will fetch the version from the internet. But, this can fail: % kubeadm init phase certs ca --cert-dir ... unable to fetch file. URL: "https://dl.k8s.io/release/stable-1.txt", status: 502 Bad Gateway failed to run commands: exit status 1 Can happen to other commands: % kubeadm init phase kubeconfig controller-manager ... % kubeadm init phase kubeconfig scheduler ... This make "--kubernetes-version" configurable, so users can enable offline mode. Signed-off-by: Gyuho Lee --- cmd/kubeadm/app/cmd/phases/init/certs.go | 1 + cmd/kubeadm/app/cmd/phases/init/kubeconfig.go | 1 + 2 files changed, 2 insertions(+) diff --git a/cmd/kubeadm/app/cmd/phases/init/certs.go b/cmd/kubeadm/app/cmd/phases/init/certs.go index 790c37baa31..5b7baf2c8ef 100644 --- a/cmd/kubeadm/app/cmd/phases/init/certs.go +++ b/cmd/kubeadm/app/cmd/phases/init/certs.go @@ -136,6 +136,7 @@ func getCertPhaseFlags(name string) []string { options.CfgPath, options.CSROnly, options.CSRDir, + options.KubernetesVersion, } if name == "all" || name == "apiserver" { flags = append(flags, diff --git a/cmd/kubeadm/app/cmd/phases/init/kubeconfig.go b/cmd/kubeadm/app/cmd/phases/init/kubeconfig.go index 6c27e9c11a6..f2f6b7d3cb4 100644 --- a/cmd/kubeadm/app/cmd/phases/init/kubeconfig.go +++ b/cmd/kubeadm/app/cmd/phases/init/kubeconfig.go @@ -101,6 +101,7 @@ func getKubeConfigPhaseFlags(name string) []string { options.CertificatesDir, options.CfgPath, options.KubeconfigDir, + options.KubernetesVersion, } if name == "all" || name == kubeadmconstants.KubeletKubeConfigFileName { flags = append(flags,