mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-09 21:21:14 +00:00
KubeletConfiguration should be a member of MasterConfiguration
This commit is contained in:
@@ -24,6 +24,8 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
|
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
|
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1"
|
||||||
|
utilpointer "k8s.io/kubernetes/pkg/util/pointer"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Funcs returns the fuzzer functions for the kubeadm apis.
|
// Funcs returns the fuzzer functions for the kubeadm apis.
|
||||||
@@ -39,20 +41,41 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} {
|
|||||||
obj.Networking.DNSDomain = "foo"
|
obj.Networking.DNSDomain = "foo"
|
||||||
obj.AuthorizationModes = []string{"foo"}
|
obj.AuthorizationModes = []string{"foo"}
|
||||||
obj.CertificatesDir = "foo"
|
obj.CertificatesDir = "foo"
|
||||||
obj.APIServerCertSANs = []string{}
|
obj.APIServerCertSANs = []string{"foo"}
|
||||||
obj.Token = "foo"
|
obj.Token = "foo"
|
||||||
obj.Etcd.Image = "foo"
|
obj.Etcd.Image = "foo"
|
||||||
obj.Etcd.DataDir = "foo"
|
obj.Etcd.DataDir = "foo"
|
||||||
obj.ImageRepository = "foo"
|
obj.ImageRepository = "foo"
|
||||||
obj.CIImageRepository = ""
|
obj.CIImageRepository = ""
|
||||||
obj.UnifiedControlPlaneImage = "foo"
|
obj.UnifiedControlPlaneImage = "foo"
|
||||||
obj.FeatureGates = map[string]bool{}
|
obj.FeatureGates = map[string]bool{"foo": true}
|
||||||
|
obj.APIServerExtraArgs = map[string]string{"foo": "foo"}
|
||||||
|
obj.APIServerExtraVolumes = []kubeadm.HostPathMount{{
|
||||||
|
Name: "foo",
|
||||||
|
HostPath: "foo",
|
||||||
|
MountPath: "foo",
|
||||||
|
}}
|
||||||
|
obj.Etcd.ExtraArgs = map[string]string{"foo": "foo"}
|
||||||
obj.Etcd.SelfHosted = &kubeadm.SelfHostedEtcd{
|
obj.Etcd.SelfHosted = &kubeadm.SelfHostedEtcd{
|
||||||
CertificatesDir: "/etc/kubernetes/pki/etcd",
|
CertificatesDir: "/etc/kubernetes/pki/etcd",
|
||||||
ClusterServiceName: "etcd-cluster",
|
ClusterServiceName: "etcd-cluster",
|
||||||
EtcdVersion: "v0.1.0",
|
EtcdVersion: "v0.1.0",
|
||||||
OperatorVersion: "v0.1.0",
|
OperatorVersion: "v0.1.0",
|
||||||
}
|
}
|
||||||
|
obj.KubeletConfiguration = kubeadm.KubeletConfiguration{
|
||||||
|
BaseConfig: &kubeletconfigv1alpha1.KubeletConfiguration{
|
||||||
|
PodManifestPath: "foo",
|
||||||
|
AllowPrivileged: utilpointer.BoolPtr(true),
|
||||||
|
ClusterDNS: []string{"foo"},
|
||||||
|
ClusterDomain: "foo",
|
||||||
|
Authorization: kubeletconfigv1alpha1.KubeletAuthorization{Mode: "foo"},
|
||||||
|
Authentication: kubeletconfigv1alpha1.KubeletAuthentication{
|
||||||
|
X509: kubeletconfigv1alpha1.KubeletX509Authentication{ClientCAFile: "foo"},
|
||||||
|
},
|
||||||
|
CAdvisorPort: utilpointer.Int32Ptr(0),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
kubeletconfigv1alpha1.SetDefaults_KubeletConfiguration(obj.KubeletConfiguration.BaseConfig)
|
||||||
},
|
},
|
||||||
func(obj *kubeadm.NodeConfiguration, c fuzz.Continue) {
|
func(obj *kubeadm.NodeConfiguration, c fuzz.Continue) {
|
||||||
c.FuzzNoCustom(obj)
|
c.FuzzNoCustom(obj)
|
||||||
|
@@ -28,13 +28,14 @@ import (
|
|||||||
type MasterConfiguration struct {
|
type MasterConfiguration struct {
|
||||||
metav1.TypeMeta
|
metav1.TypeMeta
|
||||||
|
|
||||||
API API
|
API API
|
||||||
Etcd Etcd
|
Etcd Etcd
|
||||||
Networking Networking
|
KubeletConfiguration KubeletConfiguration
|
||||||
KubernetesVersion string
|
Networking Networking
|
||||||
CloudProvider string
|
KubernetesVersion string
|
||||||
NodeName string
|
CloudProvider string
|
||||||
AuthorizationModes []string
|
NodeName string
|
||||||
|
AuthorizationModes []string
|
||||||
|
|
||||||
Token string
|
Token string
|
||||||
TokenTTL *metav1.Duration
|
TokenTTL *metav1.Duration
|
||||||
|
@@ -104,6 +104,7 @@ func SetDefaults_MasterConfiguration(obj *MasterConfiguration) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SetDefaultsEtcdSelfHosted(obj)
|
SetDefaultsEtcdSelfHosted(obj)
|
||||||
|
SetDefaults_KubeletConfiguration(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetDefaults_NodeConfiguration assigns default values to a regular node
|
// SetDefaults_NodeConfiguration assigns default values to a regular node
|
||||||
@@ -150,26 +151,29 @@ func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SetDefaults_KubeletConfiguration assigns default values to kubelet
|
// SetDefaults_KubeletConfiguration assigns default values to kubelet
|
||||||
func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) {
|
func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) {
|
||||||
if obj.BaseConfig.PodManifestPath == "" {
|
if obj.KubeletConfiguration.BaseConfig == nil {
|
||||||
obj.BaseConfig.PodManifestPath = DefaultManifestsDir
|
obj.KubeletConfiguration.BaseConfig = &kubeletconfigv1alpha1.KubeletConfiguration{}
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.AllowPrivileged == nil {
|
if obj.KubeletConfiguration.BaseConfig.PodManifestPath == "" {
|
||||||
obj.BaseConfig.AllowPrivileged = utilpointer.BoolPtr(true)
|
obj.KubeletConfiguration.BaseConfig.PodManifestPath = DefaultManifestsDir
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.ClusterDNS == nil {
|
if obj.KubeletConfiguration.BaseConfig.AllowPrivileged == nil {
|
||||||
obj.BaseConfig.ClusterDNS = []string{DefaultClusterDNSIP}
|
obj.KubeletConfiguration.BaseConfig.AllowPrivileged = utilpointer.BoolPtr(true)
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.ClusterDomain == "" {
|
if obj.KubeletConfiguration.BaseConfig.ClusterDNS == nil {
|
||||||
obj.BaseConfig.ClusterDomain = DefaultServiceDNSDomain
|
obj.KubeletConfiguration.BaseConfig.ClusterDNS = []string{DefaultClusterDNSIP}
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.Authorization.Mode == "" {
|
if obj.KubeletConfiguration.BaseConfig.ClusterDomain == "" {
|
||||||
obj.BaseConfig.Authorization.Mode = kubeletconfigv1alpha1.KubeletAuthorizationModeWebhook
|
obj.KubeletConfiguration.BaseConfig.ClusterDomain = DefaultServiceDNSDomain
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.Authentication.X509.ClientCAFile == "" {
|
if obj.KubeletConfiguration.BaseConfig.Authorization.Mode == "" {
|
||||||
obj.BaseConfig.Authentication.X509.ClientCAFile = DefaultCACertPath
|
obj.KubeletConfiguration.BaseConfig.Authorization.Mode = kubeletconfigv1alpha1.KubeletAuthorizationModeWebhook
|
||||||
}
|
}
|
||||||
if obj.BaseConfig.CAdvisorPort == nil {
|
if obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile == "" {
|
||||||
obj.BaseConfig.CAdvisorPort = utilpointer.Int32Ptr(0)
|
obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile = DefaultCACertPath
|
||||||
|
}
|
||||||
|
if obj.KubeletConfiguration.BaseConfig.CAdvisorPort == nil {
|
||||||
|
obj.KubeletConfiguration.BaseConfig.CAdvisorPort = utilpointer.Int32Ptr(0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,13 +28,14 @@ import (
|
|||||||
type MasterConfiguration struct {
|
type MasterConfiguration struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
|
||||||
API API `json:"api"`
|
API API `json:"api"`
|
||||||
Etcd Etcd `json:"etcd"`
|
Etcd Etcd `json:"etcd"`
|
||||||
Networking Networking `json:"networking"`
|
KubeletConfiguration KubeletConfiguration `json:"kubeletConfiguration"`
|
||||||
KubernetesVersion string `json:"kubernetesVersion"`
|
Networking Networking `json:"networking"`
|
||||||
CloudProvider string `json:"cloudProvider"`
|
KubernetesVersion string `json:"kubernetesVersion"`
|
||||||
NodeName string `json:"nodeName"`
|
CloudProvider string `json:"cloudProvider"`
|
||||||
AuthorizationModes []string `json:"authorizationModes,omitempty"`
|
NodeName string `json:"nodeName"`
|
||||||
|
AuthorizationModes []string `json:"authorizationModes,omitempty"`
|
||||||
|
|
||||||
Token string `json:"token"`
|
Token string `json:"token"`
|
||||||
TokenTTL *metav1.Duration `json:"tokenTTL,omitempty"`
|
TokenTTL *metav1.Duration `json:"tokenTTL,omitempty"`
|
||||||
|
@@ -355,8 +355,7 @@ func (i *Init) Run(out io.Writer) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
kubeletConfig := &kubeadmapiext.KubeletConfiguration{}
|
kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(i.cfg.KubeletConfiguration.BaseConfig, kubeletconfigv1alpha1.SchemeGroupVersion, *kubeletCodecs)
|
||||||
kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(kubeletConfig.BaseConfig, kubeletconfigv1alpha1.SchemeGroupVersion, *kubeletCodecs)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -51,6 +51,8 @@ func TestPrintConfiguration(t *testing.T) {
|
|||||||
image: ""
|
image: ""
|
||||||
keyFile: ""
|
keyFile: ""
|
||||||
imageRepository: ""
|
imageRepository: ""
|
||||||
|
kubeletConfiguration:
|
||||||
|
baseConfig: null
|
||||||
kubernetesVersion: v1.7.1
|
kubernetesVersion: v1.7.1
|
||||||
networking:
|
networking:
|
||||||
dnsDomain: ""
|
dnsDomain: ""
|
||||||
@@ -82,6 +84,8 @@ func TestPrintConfiguration(t *testing.T) {
|
|||||||
image: ""
|
image: ""
|
||||||
keyFile: ""
|
keyFile: ""
|
||||||
imageRepository: ""
|
imageRepository: ""
|
||||||
|
kubeletConfiguration:
|
||||||
|
baseConfig: null
|
||||||
kubernetesVersion: v1.7.1
|
kubernetesVersion: v1.7.1
|
||||||
networking:
|
networking:
|
||||||
dnsDomain: ""
|
dnsDomain: ""
|
||||||
@@ -123,6 +127,8 @@ func TestPrintConfiguration(t *testing.T) {
|
|||||||
etcdVersion: v0.1.0
|
etcdVersion: v0.1.0
|
||||||
operatorVersion: v0.1.0
|
operatorVersion: v0.1.0
|
||||||
imageRepository: ""
|
imageRepository: ""
|
||||||
|
kubeletConfiguration:
|
||||||
|
baseConfig: null
|
||||||
kubernetesVersion: v1.7.1
|
kubernetesVersion: v1.7.1
|
||||||
networking:
|
networking:
|
||||||
dnsDomain: ""
|
dnsDomain: ""
|
||||||
|
Reference in New Issue
Block a user