mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 11:13:48 +00:00
kubeadm: fix "migrate config --allow-experimental-api" to print v1beta4 kubeadm configurations instead of v1beta3
This commit is contained in:
parent
0a82bdbfdb
commit
01b1174c11
@ -199,7 +199,7 @@ func getDefaultInitConfigBytes() ([]byte, error) {
|
||||
return []byte{}, err
|
||||
}
|
||||
|
||||
return configutil.MarshalKubeadmConfigObject(internalcfg)
|
||||
return configutil.MarshalKubeadmConfigObject(internalcfg, kubeadmapiv1.SchemeGroupVersion)
|
||||
}
|
||||
|
||||
func getDefaultNodeConfigBytes() ([]byte, error) {
|
||||
@ -219,7 +219,7 @@ func getDefaultNodeConfigBytes() ([]byte, error) {
|
||||
return []byte{}, err
|
||||
}
|
||||
|
||||
return configutil.MarshalKubeadmConfigObject(internalcfg)
|
||||
return configutil.MarshalKubeadmConfigObject(internalcfg, kubeadmapiv1.SchemeGroupVersion)
|
||||
}
|
||||
|
||||
// newCmdConfigMigrate returns cobra.Command for "kubeadm config migrate" command
|
||||
|
@ -33,6 +33,7 @@ import (
|
||||
"k8s.io/klog/v2"
|
||||
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
|
||||
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
|
||||
@ -223,7 +224,7 @@ func printConfiguration(clustercfg *kubeadmapi.ClusterConfiguration, w io.Writer
|
||||
return
|
||||
}
|
||||
|
||||
cfgYaml, err := configutil.MarshalKubeadmConfigObject(clustercfg)
|
||||
cfgYaml, err := configutil.MarshalKubeadmConfigObject(clustercfg, kubeadmapiv1.SchemeGroupVersion)
|
||||
if err == nil {
|
||||
printer.Fprintln(w, "[upgrade/config] Configuration used:")
|
||||
|
||||
|
@ -25,6 +25,7 @@ import (
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
|
||||
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
|
||||
configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config"
|
||||
@ -53,7 +54,7 @@ func UploadConfiguration(cfg *kubeadmapi.InitConfiguration, client clientset.Int
|
||||
}
|
||||
|
||||
// Marshal the ClusterConfiguration into YAML
|
||||
clusterConfigurationYaml, err := configutil.MarshalKubeadmConfigObject(clusterConfigurationToUpload)
|
||||
clusterConfigurationYaml, err := configutil.MarshalKubeadmConfigObject(clusterConfigurationToUpload, kubeadmapiv1.SchemeGroupVersion)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -36,7 +36,8 @@ import (
|
||||
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
||||
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
|
||||
kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
|
||||
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta4"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||
@ -44,12 +45,12 @@ import (
|
||||
)
|
||||
|
||||
// MarshalKubeadmConfigObject marshals an Object registered in the kubeadm scheme. If the object is a InitConfiguration or ClusterConfiguration, some extra logic is run
|
||||
func MarshalKubeadmConfigObject(obj runtime.Object) ([]byte, error) {
|
||||
func MarshalKubeadmConfigObject(obj runtime.Object, gv schema.GroupVersion) ([]byte, error) {
|
||||
switch internalcfg := obj.(type) {
|
||||
case *kubeadmapi.InitConfiguration:
|
||||
return MarshalInitConfigurationToBytes(internalcfg, kubeadmapiv1.SchemeGroupVersion)
|
||||
return MarshalInitConfigurationToBytes(internalcfg, gv)
|
||||
default:
|
||||
return kubeadmutil.MarshalToYamlForCodecs(obj, kubeadmapiv1.SchemeGroupVersion, kubeadmscheme.Codecs)
|
||||
return kubeadmutil.MarshalToYamlForCodecs(obj, gv, kubeadmscheme.Codecs)
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,13 +259,17 @@ func MigrateOldConfig(oldConfig []byte, allowExperimental bool) ([]byte, error)
|
||||
return []byte{}, err
|
||||
}
|
||||
|
||||
gv := kubeadmapiv1old.SchemeGroupVersion
|
||||
if allowExperimental {
|
||||
gv = kubeadmapiv1.SchemeGroupVersion
|
||||
}
|
||||
// Migrate InitConfiguration and ClusterConfiguration if there are any in the config
|
||||
if kubeadmutil.GroupVersionKindsHasInitConfiguration(gvks...) || kubeadmutil.GroupVersionKindsHasClusterConfiguration(gvks...) {
|
||||
o, err := documentMapToInitConfiguration(gvkmap, true, allowExperimental, true)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
b, err := MarshalKubeadmConfigObject(o)
|
||||
b, err := MarshalKubeadmConfigObject(o, gv)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
@ -277,7 +282,7 @@ func MigrateOldConfig(oldConfig []byte, allowExperimental bool) ([]byte, error)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
b, err := MarshalKubeadmConfigObject(o)
|
||||
b, err := MarshalKubeadmConfigObject(o, gv)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user