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 <leegyuho@amazon.com>
This commit is contained in:
Gyuho Lee 2019-07-12 10:26:41 -07:00
parent bc33fc8dfe
commit bad7a3fbbd
2 changed files with 2 additions and 0 deletions

View File

@ -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,

View File

@ -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,