Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
62c9303e
Unverified
Commit
62c9303e
authored
Nov 09, 2018
by
Yago Nobre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove DynamicKubeletConfig from init and join workflow, also remove…
Remove DynamicKubeletConfig from init and join workflow, also remove DynamicKubeletConfig feature gate
parent
da33d8ab
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1 addition
and
112 deletions
+1
-112
validation_test.go
cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go
+0
-4
init.go
cmd/kubeadm/app/cmd/init.go
+0
-15
join.go
cmd/kubeadm/app/cmd/join.go
+0
-8
features.go
cmd/kubeadm/app/features/features.go
+1
-2
BUILD
cmd/kubeadm/app/phases/controlplane/BUILD
+0
-2
manifests.go
cmd/kubeadm/app/phases/controlplane/manifests.go
+0
-5
manifests_test.go
cmd/kubeadm/app/phases/controlplane/manifests_test.go
+0
-44
BUILD
cmd/kubeadm/app/phases/kubelet/BUILD
+0
-2
dynamic.go
cmd/kubeadm/app/phases/kubelet/dynamic.go
+0
-1
flags.go
cmd/kubeadm/app/phases/kubelet/flags.go
+0
-7
flags_test.go
cmd/kubeadm/app/phases/kubelet/flags_test.go
+0
-22
No files found.
cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go
View file @
62c9303e
...
...
@@ -682,10 +682,6 @@ func TestValidateFeatureGates(t *testing.T) {
}{
{
featureFlag
{
"Unknown"
:
true
},
false
},
{
featureFlag
{
"Unknown"
:
false
},
false
},
{
featureFlag
{
"CoreDNS"
:
true
},
false
},
{
featureFlag
{
"CoreDNS"
:
false
},
false
},
{
featureFlag
{
"DynamicKubeletConfig"
:
true
},
true
},
{
featureFlag
{
"DynamicKubeletConfig"
:
false
},
true
},
}
for
_
,
rt
:=
range
tests
{
actual
:=
ValidateFeatureGates
(
rt
.
featureGates
,
nil
)
...
...
cmd/kubeadm/app/cmd/init.go
View file @
62c9303e
...
...
@@ -48,12 +48,10 @@ import (
kubeconfigphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig"
kubeletphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/kubelet"
uploadconfigphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/uploadconfig"
"k8s.io/kubernetes/cmd/kubeadm/app/preflight"
kubeadmutil
"k8s.io/kubernetes/cmd/kubeadm/app/util"
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
configutil
"k8s.io/kubernetes/cmd/kubeadm/app/util/config"
kubeconfigutil
"k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
utilsexec
"k8s.io/utils/exec"
)
var
(
...
...
@@ -491,19 +489,6 @@ func runInit(i *initData, out io.Writer) error {
return
errors
.
Wrap
(
err
,
"error creating kubelet configuration ConfigMap"
)
}
// This feature is disabled by default
if
features
.
Enabled
(
i
.
cfg
.
FeatureGates
,
features
.
DynamicKubeletConfig
)
{
kubeletVersion
,
err
:=
preflight
.
GetKubeletVersion
(
utilsexec
.
New
())
if
err
!=
nil
{
return
err
}
// Enable dynamic kubelet configuration for the node.
if
err
:=
kubeletphase
.
EnableDynamicConfigForNode
(
client
,
i
.
cfg
.
NodeRegistration
.
Name
,
kubeletVersion
);
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"error enabling dynamic kubelet configuration"
)
}
}
klog
.
V
(
1
)
.
Infof
(
"[init] ensuring DNS addon"
)
if
err
:=
dnsaddonphase
.
EnsureDNSAddon
(
i
.
cfg
,
client
);
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"error ensuring dns addon"
)
...
...
cmd/kubeadm/app/cmd/join.go
View file @
62c9303e
...
...
@@ -39,7 +39,6 @@ import (
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
kubeadmconstants
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/kubernetes/cmd/kubeadm/app/discovery"
"k8s.io/kubernetes/cmd/kubeadm/app/features"
certsphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/certs"
controlplanephase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/controlplane"
etcdphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/etcd"
...
...
@@ -536,13 +535,6 @@ func (j *Join) BootstrapKubelet(tlsBootstrapCfg *clientcmdapi.Config) error {
return
errors
.
Wrap
(
err
,
"error uploading crisocket"
)
}
// This feature is disabled by default in kubeadm
if
features
.
Enabled
(
j
.
initCfg
.
FeatureGates
,
features
.
DynamicKubeletConfig
)
{
if
err
:=
kubeletphase
.
EnableDynamicConfigForNode
(
client
,
j
.
cfg
.
NodeRegistration
.
Name
,
kubeletVersion
);
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"error consuming base kubelet configuration"
)
}
}
return
nil
}
...
...
cmd/kubeadm/app/features/features.go
View file @
62c9303e
...
...
@@ -41,8 +41,7 @@ var coreDNSMessage = "featureGates:CoreDNS has been removed in v1.13\n" +
// InitFeatureGates are the default feature gates for the init command
var
InitFeatureGates
=
FeatureList
{
CoreDNS
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Deprecated
},
HiddenInHelpText
:
true
,
DeprecationMessage
:
coreDNSMessage
},
DynamicKubeletConfig
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
false
,
PreRelease
:
utilfeature
.
Beta
}},
CoreDNS
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Deprecated
},
HiddenInHelpText
:
true
,
DeprecationMessage
:
coreDNSMessage
},
}
// Feature represents a feature being gated
...
...
cmd/kubeadm/app/phases/controlplane/BUILD
View file @
62c9303e
...
...
@@ -16,7 +16,6 @@ go_test(
deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/features:go_default_library",
"//cmd/kubeadm/app/phases/certs:go_default_library",
"//cmd/kubeadm/test:go_default_library",
"//pkg/kubeapiserver/authorizer/modes:go_default_library",
...
...
@@ -36,7 +35,6 @@ go_library(
deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/features:go_default_library",
"//cmd/kubeadm/app/images:go_default_library",
"//cmd/kubeadm/app/phases/certs:go_default_library",
"//cmd/kubeadm/app/util:go_default_library",
...
...
cmd/kubeadm/app/phases/controlplane/manifests.go
View file @
62c9303e
...
...
@@ -30,7 +30,6 @@ import (
"k8s.io/klog"
kubeadmapi
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmconstants
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/kubernetes/cmd/kubeadm/app/features"
"k8s.io/kubernetes/cmd/kubeadm/app/images"
certphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/certs"
kubeadmutil
"k8s.io/kubernetes/cmd/kubeadm/app/util"
...
...
@@ -174,10 +173,6 @@ func getAPIServerCommand(cfg *kubeadmapi.InitConfiguration) []string {
}
}
if
features
.
Enabled
(
cfg
.
FeatureGates
,
features
.
DynamicKubeletConfig
)
{
defaultArguments
[
"feature-gates"
]
=
"DynamicKubeletConfig=true"
}
if
cfg
.
APIServer
.
ExtraArgs
==
nil
{
cfg
.
APIServer
.
ExtraArgs
=
map
[
string
]
string
{}
}
...
...
cmd/kubeadm/app/phases/controlplane/manifests_test.go
View file @
62c9303e
...
...
@@ -29,7 +29,6 @@ import (
"k8s.io/apimachinery/pkg/util/version"
kubeadmapi
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmconstants
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/kubernetes/cmd/kubeadm/app/features"
"k8s.io/kubernetes/cmd/kubeadm/app/phases/certs"
authzmodes
"k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes"
...
...
@@ -348,54 +347,12 @@ func TestGetAPIServerCommand(t *testing.T) {
},
},
{
name
:
"ensure the DynamicKubelet flag gets passed through"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
LocalAPIEndpoint
:
kubeadmapi
.
APIEndpoint
{
BindPort
:
123
,
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"bar"
},
CertificatesDir
:
testCertsDir
,
FeatureGates
:
map
[
string
]
bool
{
features
.
DynamicKubeletConfig
:
true
},
},
},
expected
:
[]
string
{
"kube-apiserver"
,
"--insecure-port=0"
,
"--enable-admission-plugins=NodeRestriction"
,
"--service-cluster-ip-range=bar"
,
"--service-account-key-file="
+
testCertsDir
+
"/sa.pub"
,
"--client-ca-file="
+
testCertsDir
+
"/ca.crt"
,
"--tls-cert-file="
+
testCertsDir
+
"/apiserver.crt"
,
"--tls-private-key-file="
+
testCertsDir
+
"/apiserver.key"
,
"--kubelet-client-certificate="
+
testCertsDir
+
"/apiserver-kubelet-client.crt"
,
"--kubelet-client-key="
+
testCertsDir
+
"/apiserver-kubelet-client.key"
,
"--enable-bootstrap-token-auth=true"
,
"--secure-port=123"
,
"--allow-privileged=true"
,
"--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"
,
"--proxy-client-cert-file=/var/lib/certs/front-proxy-client.crt"
,
"--proxy-client-key-file=/var/lib/certs/front-proxy-client.key"
,
"--requestheader-username-headers=X-Remote-User"
,
"--requestheader-group-headers=X-Remote-Group"
,
"--requestheader-extra-headers-prefix=X-Remote-Extra-"
,
"--requestheader-client-ca-file="
+
testCertsDir
+
"/front-proxy-ca.crt"
,
"--requestheader-allowed-names=front-proxy-client"
,
"--authorization-mode=Node,RBAC"
,
"--advertise-address=1.2.3.4"
,
fmt
.
Sprintf
(
"--etcd-servers=https://127.0.0.1:%d"
,
kubeadmconstants
.
EtcdListenClientPort
),
"--etcd-cafile="
+
testCertsDir
+
"/etcd/ca.crt"
,
"--etcd-certfile="
+
testCertsDir
+
"/apiserver-etcd-client.crt"
,
"--etcd-keyfile="
+
testCertsDir
+
"/apiserver-etcd-client.key"
,
"--feature-gates=DynamicKubeletConfig=true"
,
},
},
{
name
:
"test APIServer.ExtraArgs works as expected"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
LocalAPIEndpoint
:
kubeadmapi
.
APIEndpoint
{
BindPort
:
123
,
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"bar"
},
CertificatesDir
:
testCertsDir
,
FeatureGates
:
map
[
string
]
bool
{
features
.
DynamicKubeletConfig
:
true
},
APIServer
:
kubeadmapi
.
APIServer
{
ControlPlaneComponent
:
kubeadmapi
.
ControlPlaneComponent
{
ExtraArgs
:
map
[
string
]
string
{
...
...
@@ -436,7 +393,6 @@ func TestGetAPIServerCommand(t *testing.T) {
"--etcd-cafile="
+
testCertsDir
+
"/etcd/ca.crt"
,
"--etcd-certfile="
+
testCertsDir
+
"/apiserver-etcd-client.crt"
,
"--etcd-keyfile="
+
testCertsDir
+
"/apiserver-etcd-client.key"
,
"--feature-gates=DynamicKubeletConfig=true"
,
"--audit-policy-file=/etc/config/audit.yaml"
,
"--audit-log-path=/var/log/kubernetes"
,
},
...
...
cmd/kubeadm/app/phases/kubelet/BUILD
View file @
62c9303e
...
...
@@ -15,7 +15,6 @@ go_library(
"//cmd/kubeadm/app/apis/kubeadm/v1beta1:go_default_library",
"//cmd/kubeadm/app/componentconfigs:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/features:go_default_library",
"//cmd/kubeadm/app/util:go_default_library",
"//cmd/kubeadm/app/util/apiclient:go_default_library",
"//pkg/apis/rbac/v1:go_default_library",
...
...
@@ -45,7 +44,6 @@ go_test(
embed = [":go_default_library"],
deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis/config:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
...
...
cmd/kubeadm/app/phases/kubelet/dynamic.go
View file @
62c9303e
...
...
@@ -31,7 +31,6 @@ import (
// EnableDynamicConfigForNode updates the Node's ConfigSource to enable Dynamic Kubelet Configuration, depending on what version the kubelet is
// Used at "kubeadm init", "kubeadm join" and "kubeadm upgrade" time
// This func is ONLY run if the user enables the `DynamicKubeletConfig` feature gate, which is by default off
func
EnableDynamicConfigForNode
(
client
clientset
.
Interface
,
nodeName
string
,
kubeletVersion
*
version
.
Version
)
error
{
configMapName
:=
kubeadmconstants
.
GetKubeletConfigMapName
(
kubeletVersion
)
...
...
cmd/kubeadm/app/phases/kubelet/flags.go
View file @
62c9303e
...
...
@@ -29,7 +29,6 @@ import (
kubeadmapi
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1beta1
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/kubernetes/cmd/kubeadm/app/features"
kubeadmutil
"k8s.io/kubernetes/cmd/kubeadm/app/util"
nodeutil
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/util/procfs"
...
...
@@ -107,12 +106,6 @@ func buildKubeletArgMap(opts kubeletFlagsOpts) map[string]string {
kubeletFlags
[
"hostname-override"
]
=
opts
.
nodeRegOpts
.
Name
}
// If the user enabled Dynamic Kubelet Configuration (which is disabled by default), set the directory
// in the CLI flags so that the feature actually gets enabled
if
features
.
Enabled
(
opts
.
featureGates
,
features
.
DynamicKubeletConfig
)
{
kubeletFlags
[
"dynamic-config-dir"
]
=
filepath
.
Join
(
constants
.
KubeletRunDirectory
,
constants
.
DynamicKubeletConfigurationDirectoryName
)
}
// TODO: Conditionally set `--cgroup-driver` to either `systemd` or `cgroupfs` for CRI other than Docker
return
kubeletFlags
...
...
cmd/kubeadm/app/phases/kubelet/flags_test.go
View file @
62c9303e
...
...
@@ -19,7 +19,6 @@ package kubelet
import
(
"context"
"errors"
"fmt"
"io"
"reflect"
"strings"
...
...
@@ -27,7 +26,6 @@ import (
"k8s.io/api/core/v1"
kubeadmapi
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmconstants
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/utils/exec"
)
...
...
@@ -233,26 +231,6 @@ func TestBuildKubeletArgMap(t *testing.T) {
"resolv-conf"
:
"/run/systemd/resolve/resolv.conf"
,
},
},
{
name
:
"dynamic kubelet config enabled"
,
opts
:
kubeletFlagsOpts
{
nodeRegOpts
:
&
kubeadmapi
.
NodeRegistrationOptions
{
CRISocket
:
"/var/run/containerd.sock"
,
Name
:
"foo"
,
},
featureGates
:
map
[
string
]
bool
{
"DynamicKubeletConfig"
:
true
,
},
execer
:
cgroupfsCgroupExecer
,
pidOfFunc
:
binaryNotRunningPidOfFunc
,
defaultHostname
:
"foo"
,
},
expected
:
map
[
string
]
string
{
"container-runtime"
:
"remote"
,
"container-runtime-endpoint"
:
"/var/run/containerd.sock"
,
"dynamic-config-dir"
:
fmt
.
Sprintf
(
"%s/dynamic-config"
,
kubeadmconstants
.
KubeletRunDirectory
),
},
},
}
for
_
,
test
:=
range
tests
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment