diff --git a/install/generator.go b/install/generator.go index ff40c5e2864..1886bdaec19 100644 --- a/install/generator.go +++ b/install/generator.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "github.com/wonderivan/logger" + "strings" "text/template" ) @@ -34,19 +35,25 @@ var ConfigType string func Config() { switch ConfigType { case "kubeadm": - kubeadmConfig() + printlnKubeadmConfig() default: - kubeadmConfig() + printlnKubeadmConfig() } } -func kubeadmConfig() { - fmt.Print(TemplateText) +func kubeadmConfig() string { + var sb strings.Builder + sb.Write([]byte(TemplateText)) + return sb.String() +} + +func printlnKubeadmConfig() { + fmt.Println(kubeadmConfig()) } //Template is func Template(masters []string, vip string, version string) []byte { - return TemplateFromTemplateContent(masters, vip, version, TemplateText) + return TemplateFromTemplateContent(masters, vip, version, kubeadmConfig()) } func TemplateFromTemplateContent(masters []string, vip, version, templateContent string) []byte { diff --git a/install/init.go b/install/init.go index 42d8fcb653d..cbcae07c0c2 100644 --- a/install/init.go +++ b/install/init.go @@ -23,10 +23,14 @@ func BuildInit(masters []string, nodes []string, vip, pkgUrl string) { i.Print("SendPackage", "KubeadmConfigInstall") i.InstallMaster0() i.Print("SendPackage", "KubeadmConfigInstall", "InstallMaster0") - i.JoinMasters() - i.Print("SendPackage", "KubeadmConfigInstall", "InstallMaster0", "JoinMasters") - i.JoinNodes() - i.Print("SendPackage", "KubeadmConfigInstall", "InstallMaster0", "JoinMasters", "JoinNodes") + if len(i.Masters) > 1 { + i.JoinMasters() + i.Print("SendPackage", "KubeadmConfigInstall", "InstallMaster0", "JoinMasters") + } + if len(i.Nodes) > 0 { + i.JoinNodes() + i.Print("SendPackage", "KubeadmConfigInstall", "InstallMaster0", "JoinMasters", "JoinNodes") + } } //KubeadmConfigInstall is diff --git a/install/utils.go b/install/utils.go index 223662f147b..4b18617a8d3 100644 --- a/install/utils.go +++ b/install/utils.go @@ -269,7 +269,7 @@ func SendPackage(url string, hosts []string) { var wm sync.WaitGroup for _, host := range hosts { wm.Add(1) - go func(master string) { + go func(host string) { defer wm.Done() logger.Debug("please wait for tar zxvf exec") if RemoteFilExist(host, kubeLocal) {