From 012e46320b593831702fc315ea241c8f02b9017f Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 20 Nov 2018 16:20:11 +0200 Subject: [PATCH] kubeadm: override node registration options from command line 'kubeadm join' silently ignores --node-name and --cri-socket command line options if --config option is specified. In some cases it's much easier for users to override these parameters from the command line instead of updating config, especially for multi-node automatic deployments where only node name should be changed. Implemented setting 'name' and 'criSocket' options from the command line even if --config command line option is used. --- cmd/kubeadm/app/cmd/join.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cmd/kubeadm/app/cmd/join.go b/cmd/kubeadm/app/cmd/join.go index cce58a1f337..6ae7eabf937 100644 --- a/cmd/kubeadm/app/cmd/join.go +++ b/cmd/kubeadm/app/cmd/join.go @@ -307,6 +307,15 @@ func NewJoin(cfgPath string, defaultcfg *kubeadmapiv1beta1.JoinConfiguration, ig if err != nil { return nil, err } + + // override node name and CRI socket from the command line options + if defaultcfg.NodeRegistration.Name != "" { + internalCfg.NodeRegistration.Name = defaultcfg.NodeRegistration.Name + } + if defaultcfg.NodeRegistration.CRISocket != kubeadmapiv1beta1.DefaultCRISocket { + internalCfg.NodeRegistration.CRISocket = defaultcfg.NodeRegistration.CRISocket + } + if defaultcfg.ControlPlane != nil { if err := configutil.VerifyAPIServerBindAddress(internalCfg.ControlPlane.LocalAPIEndpoint.AdvertiseAddress); err != nil { return nil, err