From f9ed4a64600f7312f032c4d0f7098ee99da28ba4 Mon Sep 17 00:00:00 2001 From: Zhongcheng Lao Date: Tue, 17 Sep 2019 23:29:57 +0800 Subject: [PATCH] Allow user to override node name Signed-off-by: Zhongcheng Lao --- cmd/minikube/cmd/start.go | 4 +++- pkg/minikube/bootstrapper/bsutil/kubelet.go | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index a3ff003985..1b9a25f684 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -95,6 +95,7 @@ const ( keepContext = "keep-context" createMount = "mount" featureGates = "feature-gates" + nodeName = "node-name" apiServerName = "apiserver-name" apiServerPort = "apiserver-port" dnsDomain = "dns-domain" @@ -193,6 +194,7 @@ func initKubernetesFlags() { startCmd.Flags().String(apiServerName, constants.APIServerName, "The apiserver name which is used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine") startCmd.Flags().StringArrayVar(&apiServerNames, "apiserver-names", nil, "A set of apiserver names which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine") startCmd.Flags().IPSliceVar(&apiServerIPs, "apiserver-ips", nil, "A set of apiserver IP Addresses which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine") + startCmd.Flags().String(nodeName, constants.DefaultNodeName, "The node name") } // initDriverFlags inits the commandline flags for vm drivers @@ -921,7 +923,7 @@ func generateCfgFromFlags(cmd *cobra.Command, k8sVersion string, drvName string) KubernetesConfig: cfg.KubernetesConfig{ KubernetesVersion: k8sVersion, NodePort: viper.GetInt(apiServerPort), - NodeName: constants.DefaultNodeName, + NodeName: viper.GetString(nodeName), APIServerName: viper.GetString(apiServerName), APIServerNames: apiServerNames, APIServerIPs: apiServerIPs, diff --git a/pkg/minikube/bootstrapper/bsutil/kubelet.go b/pkg/minikube/bootstrapper/bsutil/kubelet.go index 48864d80fe..aea5bad07f 100644 --- a/pkg/minikube/bootstrapper/bsutil/kubelet.go +++ b/pkg/minikube/bootstrapper/bsutil/kubelet.go @@ -50,6 +50,9 @@ func NewKubeletConfig(k8s config.KubernetesConfig, r cruntime.Manager) ([]byte, if _, ok := extraOpts["node-ip"]; !ok { extraOpts["node-ip"] = k8s.NodeIP } + if k8s.NodeName != "" { + extraOpts["hostname-override"] = k8s.NodeName + } pauseImage := images.Pause(k8s.ImageRepository) if _, ok := extraOpts["pod-infra-container-image"]; !ok && k8s.ImageRepository != "" && pauseImage != "" && k8s.ContainerRuntime != remoteContainerRuntime {