From fea25a61c10587e9e872fa3b47e9002c30299a53 Mon Sep 17 00:00:00 2001 From: Edmund Rhudy Date: Fri, 28 Jul 2017 22:23:43 -0400 Subject: [PATCH] Fixes kubernetes/kubeadm#347 Node name discovery failed on `kubeadm join`. If a node name is not explicitly provided, it will be looked up. --- cmd/kubeadm/app/cmd/BUILD | 1 + cmd/kubeadm/app/cmd/join.go | 5 +++++ cmd/kubeadm/app/preflight/checks.go | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/kubeadm/app/cmd/BUILD b/cmd/kubeadm/app/cmd/BUILD index 599eecab783..09dd40f3ef5 100644 --- a/cmd/kubeadm/app/cmd/BUILD +++ b/cmd/kubeadm/app/cmd/BUILD @@ -45,6 +45,7 @@ go_library( "//pkg/printers:go_default_library", "//pkg/util/i18n:go_default_library", "//pkg/util/initsystem:go_default_library", + "//pkg/util/node:go_default_library", "//pkg/util/version:go_default_library", "//pkg/version:go_default_library", "//vendor/github.com/ghodss/yaml:go_default_library", diff --git a/cmd/kubeadm/app/cmd/join.go b/cmd/kubeadm/app/cmd/join.go index 39f921865eb..a4b6a8e787e 100644 --- a/cmd/kubeadm/app/cmd/join.go +++ b/cmd/kubeadm/app/cmd/join.go @@ -36,6 +36,7 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" "k8s.io/kubernetes/pkg/api" + nodeutil "k8s.io/kubernetes/pkg/util/node" ) var ( @@ -135,6 +136,10 @@ type Join struct { func NewJoin(cfgPath string, args []string, cfg *kubeadmapi.NodeConfiguration, skipPreFlight bool) (*Join, error) { fmt.Println("[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.") + if cfg.NodeName == "" { + cfg.NodeName = nodeutil.GetHostname("") + } + if cfgPath != "" { b, err := ioutil.ReadFile(cfgPath) if err != nil { diff --git a/cmd/kubeadm/app/preflight/checks.go b/cmd/kubeadm/app/preflight/checks.go index b6b0517152a..9d2ddee7e3e 100644 --- a/cmd/kubeadm/app/preflight/checks.go +++ b/cmd/kubeadm/app/preflight/checks.go @@ -599,7 +599,7 @@ func RunJoinNodeChecks(cfg *kubeadmapi.NodeConfiguration) error { checks := []Checker{ SystemVerificationCheck{}, IsRootCheck{}, - HostnameCheck{}, + HostnameCheck{cfg.NodeName}, ServiceCheck{Service: "kubelet", CheckIfActive: false}, ServiceCheck{Service: "docker", CheckIfActive: true}, PortOpenCheck{port: 10250},