mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
Register the v1alpha3 API in the scheme, and update the roundtrip API tests
This commit is contained in:
parent
e5c0360773
commit
27d70411a9
@ -24,6 +24,7 @@ import (
|
|||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha3"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 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.
|
||||||
@ -41,5 +42,6 @@ func init() {
|
|||||||
func AddToScheme(scheme *runtime.Scheme) {
|
func AddToScheme(scheme *runtime.Scheme) {
|
||||||
utilruntime.Must(kubeadm.AddToScheme(scheme))
|
utilruntime.Must(kubeadm.AddToScheme(scheme))
|
||||||
utilruntime.Must(v1alpha2.AddToScheme(scheme))
|
utilruntime.Must(v1alpha2.AddToScheme(scheme))
|
||||||
utilruntime.Must(scheme.SetVersionPriority(v1alpha2.SchemeGroupVersion))
|
utilruntime.Must(v1alpha3.AddToScheme(scheme))
|
||||||
|
utilruntime.Must(scheme.SetVersionPriority(v1alpha3.SchemeGroupVersion))
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
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"
|
||||||
kubeadmapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
kubeadmapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
|
kubeadmapiv1alpha3 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha3"
|
||||||
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
|
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/features"
|
"k8s.io/kubernetes/cmd/kubeadm/app/features"
|
||||||
@ -160,7 +161,7 @@ func NewCmdConfigMigrate(out io.Writer) *cobra.Command {
|
|||||||
locally in the CLI tool without ever touching anything in the cluster.
|
locally in the CLI tool without ever touching anything in the cluster.
|
||||||
In this version of kubeadm, the following API versions are supported:
|
In this version of kubeadm, the following API versions are supported:
|
||||||
- %s
|
- %s
|
||||||
- TODO: kubeadm.k8s.io/v1beta1
|
- %s
|
||||||
|
|
||||||
Further, kubeadm can only write out config of version %q, but read both types.
|
Further, kubeadm can only write out config of version %q, but read both types.
|
||||||
So regardless of what version you pass to the --old-config parameter here, the API object will be
|
So regardless of what version you pass to the --old-config parameter here, the API object will be
|
||||||
@ -169,7 +170,7 @@ func NewCmdConfigMigrate(out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
In other words, the output of this command is what kubeadm actually would read internally if you
|
In other words, the output of this command is what kubeadm actually would read internally if you
|
||||||
submitted this file to "kubeadm init"
|
submitted this file to "kubeadm init"
|
||||||
`), kubeadmapiv1alpha2.SchemeGroupVersion.String(), kubeadmapiv1alpha2.SchemeGroupVersion.String()),
|
`), kubeadmapiv1alpha2.SchemeGroupVersion.String(), kubeadmapiv1alpha3.SchemeGroupVersion.String(), kubeadmapiv1alpha3.SchemeGroupVersion.String()),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
if len(oldCfgPath) == 0 {
|
if len(oldCfgPath) == 0 {
|
||||||
kubeadmutil.CheckErr(fmt.Errorf("The --old-config flag is mandatory"))
|
kubeadmutil.CheckErr(fmt.Errorf("The --old-config flag is mandatory"))
|
||||||
@ -187,14 +188,14 @@ func NewCmdConfigMigrate(out io.Writer) *cobra.Command {
|
|||||||
internalcfg, err := configutil.ConfigFileAndDefaultsToInternalConfig(oldCfgPath, &kubeadmapiv1alpha2.MasterConfiguration{})
|
internalcfg, err := configutil.ConfigFileAndDefaultsToInternalConfig(oldCfgPath, &kubeadmapiv1alpha2.MasterConfiguration{})
|
||||||
kubeadmutil.CheckErr(err)
|
kubeadmutil.CheckErr(err)
|
||||||
|
|
||||||
outputBytes, err = kubeadmutil.MarshalToYamlForCodecs(internalcfg, kubeadmapiv1alpha2.SchemeGroupVersion, kubeadmscheme.Codecs)
|
outputBytes, err = kubeadmutil.MarshalToYamlForCodecs(internalcfg, kubeadmapiv1alpha3.SchemeGroupVersion, kubeadmscheme.Codecs)
|
||||||
kubeadmutil.CheckErr(err)
|
kubeadmutil.CheckErr(err)
|
||||||
case nodeConfig:
|
case nodeConfig:
|
||||||
internalcfg, err := configutil.NodeConfigFileAndDefaultsToInternalConfig(oldCfgPath, &kubeadmapiv1alpha2.NodeConfiguration{})
|
internalcfg, err := configutil.NodeConfigFileAndDefaultsToInternalConfig(oldCfgPath, &kubeadmapiv1alpha2.NodeConfiguration{})
|
||||||
kubeadmutil.CheckErr(err)
|
kubeadmutil.CheckErr(err)
|
||||||
|
|
||||||
// TODO: In the future we might not want to duplicate these two lines of code for every case here.
|
// TODO: In the future we might not want to duplicate these two lines of code for every case here.
|
||||||
outputBytes, err = kubeadmutil.MarshalToYamlForCodecs(internalcfg, kubeadmapiv1alpha2.SchemeGroupVersion, kubeadmscheme.Codecs)
|
outputBytes, err = kubeadmutil.MarshalToYamlForCodecs(internalcfg, kubeadmapiv1alpha3.SchemeGroupVersion, kubeadmscheme.Codecs)
|
||||||
kubeadmutil.CheckErr(err)
|
kubeadmutil.CheckErr(err)
|
||||||
default:
|
default:
|
||||||
kubeadmutil.CheckErr(fmt.Errorf("Didn't recognize type with GroupVersionKind: %v", gvk))
|
kubeadmutil.CheckErr(fmt.Errorf("Didn't recognize type with GroupVersionKind: %v", gvk))
|
||||||
|
@ -134,7 +134,7 @@ func BytesToInternalConfig(b []byte) (*kubeadmapi.MasterConfiguration, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(kubeadmapiv1alpha2.SchemeGroupVersion), b, internalcfg); err != nil {
|
if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, internalcfg); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,11 +27,13 @@ import (
|
|||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha3"
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
master_v1alpha2YAML = "testdata/conversion/master/v1alpha2.yaml"
|
master_v1alpha2YAML = "testdata/conversion/master/v1alpha2.yaml"
|
||||||
|
master_v1alpha3YAML = "testdata/conversion/master/v1alpha3.yaml"
|
||||||
master_internalYAML = "testdata/conversion/master/internal.yaml"
|
master_internalYAML = "testdata/conversion/master/internal.yaml"
|
||||||
master_incompleteYAML = "testdata/defaulting/master/incomplete.yaml"
|
master_incompleteYAML = "testdata/defaulting/master/incomplete.yaml"
|
||||||
master_defaultedYAML = "testdata/defaulting/master/defaulted.yaml"
|
master_defaultedYAML = "testdata/defaulting/master/defaulted.yaml"
|
||||||
@ -65,19 +67,31 @@ func TestConfigFileAndDefaultsToInternalConfig(t *testing.T) {
|
|||||||
out: master_internalYAML,
|
out: master_internalYAML,
|
||||||
groupVersion: kubeadm.SchemeGroupVersion,
|
groupVersion: kubeadm.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
{ // v1alpha2 -> internal -> v1alpha2
|
{ // v1alpha3 -> internal
|
||||||
name: "v1alpha2Tov1alpha2",
|
name: "v1alpha3ToInternal",
|
||||||
|
in: master_v1alpha3YAML,
|
||||||
|
out: master_internalYAML,
|
||||||
|
groupVersion: kubeadm.SchemeGroupVersion,
|
||||||
|
},
|
||||||
|
{ // v1alpha2 -> internal -> v1alpha3
|
||||||
|
name: "v1alpha2Tov1alpha3",
|
||||||
in: master_v1alpha2YAML,
|
in: master_v1alpha2YAML,
|
||||||
out: master_v1alpha2YAML,
|
out: master_v1alpha3YAML,
|
||||||
groupVersion: v1alpha2.SchemeGroupVersion,
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
|
},
|
||||||
|
{ // v1alpha3 -> internal -> v1alpha3
|
||||||
|
name: "v1alpha3Tov1alpha3",
|
||||||
|
in: master_v1alpha3YAML,
|
||||||
|
out: master_v1alpha3YAML,
|
||||||
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
// These tests are reading one file that has only a subset of the fields populated, loading it using ConfigFileAndDefaultsToInternalConfig,
|
// These tests are reading one file that has only a subset of the fields populated, loading it using ConfigFileAndDefaultsToInternalConfig,
|
||||||
// and then marshals the internal object to the expected groupVersion
|
// and then marshals the internal object to the expected groupVersion
|
||||||
{ // v1alpha2 -> default -> validate -> internal -> v1alpha2
|
{ // v1alpha2 -> default -> validate -> internal -> v1alpha3
|
||||||
name: "incompleteYAMLToDefaultedv1alpha2",
|
name: "incompleteYAMLToDefaultedv1alpha2",
|
||||||
in: master_incompleteYAML,
|
in: master_incompleteYAML,
|
||||||
out: master_defaultedYAML,
|
out: master_defaultedYAML,
|
||||||
groupVersion: v1alpha2.SchemeGroupVersion,
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
{ // v1alpha2 -> validation should fail
|
{ // v1alpha2 -> validation should fail
|
||||||
name: "invalidYAMLShouldFail",
|
name: "invalidYAMLShouldFail",
|
||||||
|
@ -54,7 +54,7 @@ func NodeConfigFileAndDefaultsToInternalConfig(cfgPath string, defaultversionedc
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(kubeadmapiv1alpha2.SchemeGroupVersion), b, internalcfg); err != nil {
|
if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, internalcfg); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -25,11 +25,13 @@ import (
|
|||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha2"
|
||||||
|
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha3"
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
node_v1alpha2YAML = "testdata/conversion/node/v1alpha2.yaml"
|
node_v1alpha2YAML = "testdata/conversion/node/v1alpha2.yaml"
|
||||||
|
node_v1alpha3YAML = "testdata/conversion/node/v1alpha3.yaml"
|
||||||
node_internalYAML = "testdata/conversion/node/internal.yaml"
|
node_internalYAML = "testdata/conversion/node/internal.yaml"
|
||||||
node_incompleteYAML = "testdata/defaulting/node/incomplete.yaml"
|
node_incompleteYAML = "testdata/defaulting/node/incomplete.yaml"
|
||||||
node_defaultedYAML = "testdata/defaulting/node/defaulted.yaml"
|
node_defaultedYAML = "testdata/defaulting/node/defaulted.yaml"
|
||||||
@ -50,21 +52,33 @@ func TestNodeConfigFileAndDefaultsToInternalConfig(t *testing.T) {
|
|||||||
out: node_internalYAML,
|
out: node_internalYAML,
|
||||||
groupVersion: kubeadm.SchemeGroupVersion,
|
groupVersion: kubeadm.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
{ // v1alpha2 -> internal -> v1alpha2
|
{ // v1alpha3 -> internal
|
||||||
name: "v1alpha2Tov1alpha2",
|
name: "v1alpha3ToInternal",
|
||||||
|
in: node_v1alpha3YAML,
|
||||||
|
out: node_internalYAML,
|
||||||
|
groupVersion: kubeadm.SchemeGroupVersion,
|
||||||
|
},
|
||||||
|
{ // v1alpha2 -> internal -> v1alpha3
|
||||||
|
name: "v1alpha2Tov1alpha3",
|
||||||
in: node_v1alpha2YAML,
|
in: node_v1alpha2YAML,
|
||||||
out: node_v1alpha2YAML,
|
out: node_v1alpha3YAML,
|
||||||
groupVersion: v1alpha2.SchemeGroupVersion,
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
|
},
|
||||||
|
{ // v1alpha3 -> internal -> v1alpha3
|
||||||
|
name: "v1alpha3Tov1alpha3",
|
||||||
|
in: node_v1alpha3YAML,
|
||||||
|
out: node_v1alpha3YAML,
|
||||||
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
// These tests are reading one file that has only a subset of the fields populated, loading it using NodeConfigFileAndDefaultsToInternalConfig,
|
// These tests are reading one file that has only a subset of the fields populated, loading it using NodeConfigFileAndDefaultsToInternalConfig,
|
||||||
// and then marshals the internal object to the expected groupVersion
|
// and then marshals the internal object to the expected groupVersion
|
||||||
{ // v1alpha1 -> default -> validate -> internal -> v1alpha2
|
{ // v1alpha2 -> default -> validate -> internal -> v1alpha3
|
||||||
name: "incompleteYAMLToDefaulted",
|
name: "incompleteYAMLToDefaulted",
|
||||||
in: node_incompleteYAML,
|
in: node_incompleteYAML,
|
||||||
out: node_defaultedYAML,
|
out: node_defaultedYAML,
|
||||||
groupVersion: v1alpha2.SchemeGroupVersion,
|
groupVersion: v1alpha3.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
{ // v1alpha1 (faulty) -> validation should fail
|
{ // v1alpha2 -> validation should fail
|
||||||
name: "invalidYAMLShouldFail",
|
name: "invalidYAMLShouldFail",
|
||||||
in: node_invalidYAML,
|
in: node_invalidYAML,
|
||||||
expectedErr: true,
|
expectedErr: true,
|
||||||
|
149
cmd/kubeadm/app/util/config/testdata/conversion/master/v1alpha3.yaml
vendored
Normal file
149
cmd/kubeadm/app/util/config/testdata/conversion/master/v1alpha3.yaml
vendored
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
api:
|
||||||
|
advertiseAddress: 192.168.2.2
|
||||||
|
bindPort: 6443
|
||||||
|
controlPlaneEndpoint: ""
|
||||||
|
apiServerExtraArgs:
|
||||||
|
authorization-mode: Node,RBAC,Webhook
|
||||||
|
apiVersion: kubeadm.k8s.io/v1alpha3
|
||||||
|
auditPolicy:
|
||||||
|
logDir: /var/log/kubernetes/audit
|
||||||
|
logMaxAge: 2
|
||||||
|
path: ""
|
||||||
|
bootstrapTokens:
|
||||||
|
- groups:
|
||||||
|
- system:bootstrappers:kubeadm:default-node-token
|
||||||
|
token: s73ybu.6tw6wnqgp5z0wb77
|
||||||
|
ttl: 24h0m0s
|
||||||
|
usages:
|
||||||
|
- signing
|
||||||
|
- authentication
|
||||||
|
certificatesDir: /etc/kubernetes/pki
|
||||||
|
clusterName: kubernetes
|
||||||
|
etcd:
|
||||||
|
local:
|
||||||
|
dataDir: /var/lib/etcd
|
||||||
|
image: ""
|
||||||
|
imageRepository: k8s.gcr.io
|
||||||
|
kind: MasterConfiguration
|
||||||
|
kubeProxy:
|
||||||
|
config:
|
||||||
|
bindAddress: 0.0.0.0
|
||||||
|
clientConnection:
|
||||||
|
acceptContentTypes: ""
|
||||||
|
burst: 10
|
||||||
|
contentType: application/vnd.kubernetes.protobuf
|
||||||
|
kubeconfig: /var/lib/kube-proxy/kubeconfig.conf
|
||||||
|
qps: 5
|
||||||
|
clusterCIDR: ""
|
||||||
|
configSyncPeriod: 15m0s
|
||||||
|
conntrack:
|
||||||
|
max: null
|
||||||
|
maxPerCore: 32768
|
||||||
|
min: 131072
|
||||||
|
tcpCloseWaitTimeout: 1h0m0s
|
||||||
|
tcpEstablishedTimeout: 24h0m0s
|
||||||
|
enableProfiling: false
|
||||||
|
featureGates:
|
||||||
|
ServiceNodeExclusion: true
|
||||||
|
SupportIPVSProxyMode: true
|
||||||
|
healthzBindAddress: 0.0.0.0:10256
|
||||||
|
hostnameOverride: ""
|
||||||
|
iptables:
|
||||||
|
masqueradeAll: false
|
||||||
|
masqueradeBit: 14
|
||||||
|
minSyncPeriod: 0s
|
||||||
|
syncPeriod: 30s
|
||||||
|
ipvs:
|
||||||
|
excludeCIDRs: null
|
||||||
|
minSyncPeriod: 0s
|
||||||
|
scheduler: ""
|
||||||
|
syncPeriod: 30s
|
||||||
|
metricsBindAddress: 127.0.0.1:10249
|
||||||
|
mode: ""
|
||||||
|
nodePortAddresses: null
|
||||||
|
oomScoreAdj: -999
|
||||||
|
portRange: ""
|
||||||
|
resourceContainer: /kube-proxy
|
||||||
|
udpIdleTimeout: 250ms
|
||||||
|
kubeletConfiguration:
|
||||||
|
baseConfig:
|
||||||
|
address: 0.0.0.0
|
||||||
|
authentication:
|
||||||
|
anonymous:
|
||||||
|
enabled: false
|
||||||
|
webhook:
|
||||||
|
cacheTTL: 2m0s
|
||||||
|
enabled: true
|
||||||
|
x509:
|
||||||
|
clientCAFile: /etc/kubernetes/pki/ca.crt
|
||||||
|
authorization:
|
||||||
|
mode: Webhook
|
||||||
|
webhook:
|
||||||
|
cacheAuthorizedTTL: 5m0s
|
||||||
|
cacheUnauthorizedTTL: 30s
|
||||||
|
cgroupDriver: cgroupfs
|
||||||
|
cgroupsPerQOS: true
|
||||||
|
clusterDNS:
|
||||||
|
- 10.96.0.10
|
||||||
|
clusterDomain: cluster.local
|
||||||
|
configMapAndSecretChangeDetectionStrategy: Watch
|
||||||
|
containerLogMaxFiles: 5
|
||||||
|
containerLogMaxSize: 10Mi
|
||||||
|
contentType: application/vnd.kubernetes.protobuf
|
||||||
|
cpuCFSQuota: true
|
||||||
|
cpuManagerPolicy: none
|
||||||
|
cpuManagerReconcilePeriod: 10s
|
||||||
|
enableControllerAttachDetach: true
|
||||||
|
enableDebuggingHandlers: true
|
||||||
|
enforceNodeAllocatable:
|
||||||
|
- pods
|
||||||
|
eventBurst: 10
|
||||||
|
eventRecordQPS: 5
|
||||||
|
evictionHard:
|
||||||
|
imagefs.available: 15%
|
||||||
|
memory.available: 100Mi
|
||||||
|
nodefs.available: 10%
|
||||||
|
nodefs.inodesFree: 5%
|
||||||
|
evictionPressureTransitionPeriod: 5m0s
|
||||||
|
failSwapOn: true
|
||||||
|
fileCheckFrequency: 20s
|
||||||
|
hairpinMode: promiscuous-bridge
|
||||||
|
healthzBindAddress: 127.0.0.1
|
||||||
|
healthzPort: 10248
|
||||||
|
httpCheckFrequency: 20s
|
||||||
|
imageGCHighThresholdPercent: 85
|
||||||
|
imageGCLowThresholdPercent: 80
|
||||||
|
imageMinimumGCAge: 2m0s
|
||||||
|
iptablesDropBit: 15
|
||||||
|
iptablesMasqueradeBit: 14
|
||||||
|
kubeAPIBurst: 10
|
||||||
|
kubeAPIQPS: 5
|
||||||
|
makeIPTablesUtilChains: true
|
||||||
|
maxOpenFiles: 1000000
|
||||||
|
maxPods: 110
|
||||||
|
nodeStatusUpdateFrequency: 10s
|
||||||
|
oomScoreAdj: -999
|
||||||
|
podPidsLimit: -1
|
||||||
|
port: 10250
|
||||||
|
registryBurst: 10
|
||||||
|
registryPullQPS: 5
|
||||||
|
resolvConf: /etc/resolv.conf
|
||||||
|
rotateCertificates: true
|
||||||
|
runtimeRequestTimeout: 2m0s
|
||||||
|
serializeImagePulls: true
|
||||||
|
staticPodPath: /etc/kubernetes/manifests
|
||||||
|
streamingConnectionIdleTimeout: 4h0m0s
|
||||||
|
syncFrequency: 1m0s
|
||||||
|
volumeStatsAggPeriod: 1m0s
|
||||||
|
kubernetesVersion: v1.10.2
|
||||||
|
networking:
|
||||||
|
dnsDomain: cluster.local
|
||||||
|
podSubnet: ""
|
||||||
|
serviceSubnet: 10.96.0.0/12
|
||||||
|
nodeRegistration:
|
||||||
|
criSocket: /var/run/dockershim.sock
|
||||||
|
name: master-1
|
||||||
|
taints:
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node-role.kubernetes.io/master
|
||||||
|
unifiedControlPlaneImage: ""
|
15
cmd/kubeadm/app/util/config/testdata/conversion/node/v1alpha3.yaml
vendored
Normal file
15
cmd/kubeadm/app/util/config/testdata/conversion/node/v1alpha3.yaml
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kubeadm.k8s.io/v1alpha3
|
||||||
|
caCertPath: /etc/kubernetes/pki/ca.crt
|
||||||
|
clusterName: kubernetes
|
||||||
|
discoveryFile: ""
|
||||||
|
discoveryTimeout: 5m0s
|
||||||
|
discoveryToken: abcdef.0123456789abcdef
|
||||||
|
discoveryTokenAPIServers:
|
||||||
|
- kube-apiserver:6443
|
||||||
|
discoveryTokenUnsafeSkipCAVerification: true
|
||||||
|
kind: NodeConfiguration
|
||||||
|
nodeRegistration:
|
||||||
|
criSocket: /var/run/dockershim.sock
|
||||||
|
name: master-1
|
||||||
|
tlsBootstrapToken: abcdef.0123456789abcdef
|
||||||
|
token: abcdef.0123456789abcdef
|
@ -2,7 +2,7 @@ api:
|
|||||||
advertiseAddress: 192.168.2.2
|
advertiseAddress: 192.168.2.2
|
||||||
bindPort: 6443
|
bindPort: 6443
|
||||||
controlPlaneEndpoint: ""
|
controlPlaneEndpoint: ""
|
||||||
apiVersion: kubeadm.k8s.io/v1alpha2
|
apiVersion: kubeadm.k8s.io/v1alpha3
|
||||||
auditPolicy:
|
auditPolicy:
|
||||||
logDir: /var/log/kubernetes/audit
|
logDir: /var/log/kubernetes/audit
|
||||||
logMaxAge: 2
|
logMaxAge: 2
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: kubeadm.k8s.io/v1alpha2
|
apiVersion: kubeadm.k8s.io/v1alpha3
|
||||||
caCertPath: /etc/kubernetes/pki/ca.crt
|
caCertPath: /etc/kubernetes/pki/ca.crt
|
||||||
clusterName: kubernetes
|
clusterName: kubernetes
|
||||||
discoveryFile: ""
|
discoveryFile: ""
|
||||||
|
@ -7,6 +7,7 @@ cmd/kube-proxy/app
|
|||||||
cmd/kube-scheduler/app
|
cmd/kube-scheduler/app
|
||||||
cmd/kubeadm/app
|
cmd/kubeadm/app
|
||||||
cmd/kubeadm/app/apis/kubeadm/v1alpha2
|
cmd/kubeadm/app/apis/kubeadm/v1alpha2
|
||||||
|
cmd/kubeadm/app/apis/kubeadm/v1alpha3
|
||||||
cmd/kubeadm/app/util/config
|
cmd/kubeadm/app/util/config
|
||||||
cmd/kubelet/app
|
cmd/kubelet/app
|
||||||
cmd/kubelet/app/options
|
cmd/kubelet/app/options
|
||||||
|
Loading…
Reference in New Issue
Block a user