diff --git a/cmd/kubeadm/app/cmd/config.go b/cmd/kubeadm/app/cmd/config.go index 35b81e2e760..e0c093e7345 100644 --- a/cmd/kubeadm/app/cmd/config.go +++ b/cmd/kubeadm/app/cmd/config.go @@ -94,6 +94,7 @@ func newCmdConfigPrint(out io.Writer) *cobra.Command { cmd.AddCommand(newCmdConfigPrintInitDefaults(out)) cmd.AddCommand(newCmdConfigPrintJoinDefaults(out)) cmd.AddCommand(newCmdConfigPrintResetDefaults(out)) + cmd.AddCommand(newCmdConfigPrintUpgradeDefaults(out)) return cmd } @@ -112,6 +113,11 @@ func newCmdConfigPrintResetDefaults(out io.Writer) *cobra.Command { return newCmdConfigPrintActionDefaults(out, "reset", getDefaultResetConfigBytes) } +// newCmdConfigPrintUpgradeDefaults returns cobra.Command for "kubeadm config print upgrade-defaults" command +func newCmdConfigPrintUpgradeDefaults(out io.Writer) *cobra.Command { + return newCmdConfigPrintActionDefaults(out, "upgrade", getDefaultUpgradeConfigBytes) +} + func newCmdConfigPrintActionDefaults(out io.Writer, action string, configBytesProc func() ([]byte, error)) *cobra.Command { kinds := []string{} cmd := &cobra.Command{ @@ -242,6 +248,18 @@ func getDefaultResetConfigBytes() ([]byte, error) { return configutil.MarshalKubeadmConfigObject(internalcfg, kubeadmapiv1.SchemeGroupVersion) } +func getDefaultUpgradeConfigBytes() ([]byte, error) { + opts := configutil.LoadOrDefaultConfigurationOptions{ + SkipCRIDetect: true, + } + internalcfg, err := configutil.DefaultedUpgradeConfiguration(&kubeadmapiv1.UpgradeConfiguration{}, opts) + if err != nil { + return []byte{}, err + } + + return configutil.MarshalKubeadmConfigObject(internalcfg, kubeadmapiv1.SchemeGroupVersion) +} + // newCmdConfigMigrate returns cobra.Command for "kubeadm config migrate" command func newCmdConfigMigrate(out io.Writer) *cobra.Command { var oldCfgPath, newCfgPath string