diff --git a/cmd/kubeadm/app/cmd/init.go b/cmd/kubeadm/app/cmd/init.go index 7b68a7446e0..4d1a725ef96 100644 --- a/cmd/kubeadm/app/cmd/init.go +++ b/cmd/kubeadm/app/cmd/init.go @@ -149,6 +149,11 @@ func newCmdInit(out io.Writer, initOptions *initOptions) *cobra.Command { // sets the data builder function, that will be used by the runner // both when running the entire workflow or single phases initRunner.SetDataInitializer(func(cmd *cobra.Command, args []string) (workflow.RunData, error) { + if cmd.Flags().Lookup(options.NodeCRISocket) == nil { + // avoid CRI detection + // assume that the command execution does not depend on CRISocket when --cri-socket flag is not set + initOptions.externalInitCfg.NodeRegistration.CRISocket = kubeadmconstants.UnknownCRISocket + } data, err := newInitData(cmd, args, initOptions, out) if err != nil { return nil, err diff --git a/cmd/kubeadm/app/cmd/join.go b/cmd/kubeadm/app/cmd/join.go index 9c668d94c3b..ff43aa4e64f 100644 --- a/cmd/kubeadm/app/cmd/join.go +++ b/cmd/kubeadm/app/cmd/join.go @@ -220,6 +220,11 @@ func newCmdJoin(out io.Writer, joinOptions *joinOptions) *cobra.Command { // sets the data builder function, that will be used by the runner // both when running the entire workflow or single phases joinRunner.SetDataInitializer(func(cmd *cobra.Command, args []string) (workflow.RunData, error) { + if cmd.Flags().Lookup(options.NodeCRISocket) == nil { + // avoid CRI detection + // assume that the command execution does not depend on CRISocket when --cri-socket flag is not set + joinOptions.externalcfg.NodeRegistration.CRISocket = kubeadmconstants.UnknownCRISocket + } data, err := newJoinData(cmd, args, joinOptions, out, kubeadmconstants.GetAdminKubeConfigPath()) if err != nil { return nil, err diff --git a/cmd/kubeadm/app/cmd/phases/init/preflight.go b/cmd/kubeadm/app/cmd/phases/init/preflight.go index ed6a1758fd6..b34cdfa0e76 100644 --- a/cmd/kubeadm/app/cmd/phases/init/preflight.go +++ b/cmd/kubeadm/app/cmd/phases/init/preflight.go @@ -46,6 +46,7 @@ func NewPreflightPhase() workflow.Phase { Run: runPreflight, InheritFlags: []string{ options.CfgPath, + options.NodeCRISocket, options.IgnorePreflightErrors, options.DryRun, }, diff --git a/cmd/kubeadm/app/cmd/phases/init/uploadcerts.go b/cmd/kubeadm/app/cmd/phases/init/uploadcerts.go index 035420cb1d8..00334fe0b4d 100644 --- a/cmd/kubeadm/app/cmd/phases/init/uploadcerts.go +++ b/cmd/kubeadm/app/cmd/phases/init/uploadcerts.go @@ -36,7 +36,6 @@ func NewUploadCertsPhase() workflow.Phase { Run: runUploadCerts, InheritFlags: []string{ options.CfgPath, - options.NodeCRISocket, options.KubeconfigPath, options.UploadCerts, options.CertificateKey, diff --git a/cmd/kubeadm/app/cmd/phases/init/uploadconfig.go b/cmd/kubeadm/app/cmd/phases/init/uploadconfig.go index 88f31cd964e..c9338f18990 100644 --- a/cmd/kubeadm/app/cmd/phases/init/uploadconfig.go +++ b/cmd/kubeadm/app/cmd/phases/init/uploadconfig.go @@ -96,6 +96,7 @@ func NewUploadConfigPhase() workflow.Phase { func getUploadConfigPhaseFlags() []string { return []string{ options.CfgPath, + options.NodeCRISocket, options.KubeconfigPath, options.DryRun, } diff --git a/cmd/kubeadm/app/cmd/reset.go b/cmd/kubeadm/app/cmd/reset.go index 7e631136e6b..1efb1183182 100644 --- a/cmd/kubeadm/app/cmd/reset.go +++ b/cmd/kubeadm/app/cmd/reset.go @@ -203,6 +203,11 @@ func newCmdReset(in io.Reader, out io.Writer, resetOptions *resetOptions) *cobra // sets the data builder function, that will be used by the runner // both when running the entire workflow or single phases resetRunner.SetDataInitializer(func(cmd *cobra.Command, args []string) (workflow.RunData, error) { + if cmd.Flags().Lookup(options.NodeCRISocket) == nil { + // avoid CRI detection + // assume that the command execution does not depend on CRISocket when --cri-socket flag is not set + resetOptions.criSocketPath = kubeadmconstants.UnknownCRISocket + } return newResetData(cmd, resetOptions, in, out) })