mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
kubeadm: Register and support loading the v1alpha2 API types
This commit is contained in:
parent
56846a8b60
commit
96d2bbb450
@ -23,6 +23,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
|
||||||
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Scheme is the runtime.Scheme to which all kubeadm api types are registered.
|
// Scheme is the runtime.Scheme to which all kubeadm api types are registered.
|
||||||
@ -40,5 +41,6 @@ func init() {
|
|||||||
func AddToScheme(scheme *runtime.Scheme) {
|
func AddToScheme(scheme *runtime.Scheme) {
|
||||||
kubeadm.AddToScheme(scheme)
|
kubeadm.AddToScheme(scheme)
|
||||||
v1alpha1.AddToScheme(scheme)
|
v1alpha1.AddToScheme(scheme)
|
||||||
|
v1alpha2.AddToScheme(scheme)
|
||||||
scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion)
|
scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion)
|
||||||
}
|
}
|
||||||
|
@ -23,10 +23,12 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
netutil "k8s.io/apimachinery/pkg/util/net"
|
netutil "k8s.io/apimachinery/pkg/util/net"
|
||||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
||||||
kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
|
kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
|
||||||
|
kubeadmapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
|
||||||
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
@ -137,6 +139,15 @@ func BytesToInternalConfig(b []byte) (*kubeadmapi.MasterConfiguration, error) {
|
|||||||
// Default and convert to the internal version
|
// Default and convert to the internal version
|
||||||
kubeadmscheme.Scheme.Default(v1alpha1cfg)
|
kubeadmscheme.Scheme.Default(v1alpha1cfg)
|
||||||
kubeadmscheme.Scheme.Convert(v1alpha1cfg, internalcfg, nil)
|
kubeadmscheme.Scheme.Convert(v1alpha1cfg, internalcfg, nil)
|
||||||
|
} else if decoded["apiVersion"] == kubeadmapiv1alpha2.SchemeGroupVersion.String() {
|
||||||
|
v1alpha2cfg := &kubeadmapiv1alpha2.MasterConfiguration{}
|
||||||
|
if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, v1alpha2cfg); err != nil {
|
||||||
|
return nil, fmt.Errorf("unable to decode config: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Default and convert to the internal version
|
||||||
|
kubeadmscheme.Scheme.Default(v1alpha2cfg)
|
||||||
|
kubeadmscheme.Scheme.Convert(v1alpha2cfg, internalcfg, nil)
|
||||||
} else {
|
} else {
|
||||||
// TODO: Add support for an upcoming v1alpha2 API
|
// TODO: Add support for an upcoming v1alpha2 API
|
||||||
// TODO: In the future, we can unmarshal any two or more external types into the internal object directly using the following syntax.
|
// TODO: In the future, we can unmarshal any two or more external types into the internal object directly using the following syntax.
|
||||||
|
Loading…
Reference in New Issue
Block a user