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
6eeff3e6
Unverified
Commit
6eeff3e6
authored
Sep 13, 2018
by
k8s-ci-robot
Committed by
GitHub
Sep 13, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #68534 from SataQiu/fix-2018091201
fix controller manager arguments for v1.12-
parents
020b1d5f
1b113743
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
16 deletions
+159
-16
manifests.go
cmd/kubeadm/app/phases/controlplane/manifests.go
+8
-4
manifests_test.go
cmd/kubeadm/app/phases/controlplane/manifests_test.go
+151
-12
No files found.
cmd/kubeadm/app/phases/controlplane/manifests.go
View file @
6eeff3e6
...
@@ -292,10 +292,14 @@ func getControllerManagerCommand(cfg *kubeadmapi.InitConfiguration, k8sVersion *
...
@@ -292,10 +292,14 @@ func getControllerManagerCommand(cfg *kubeadmapi.InitConfiguration, k8sVersion *
"cluster-signing-key-file"
:
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
CAKeyName
),
"cluster-signing-key-file"
:
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
CAKeyName
),
"use-service-account-credentials"
:
"true"
,
"use-service-account-credentials"
:
"true"
,
"controllers"
:
"*,bootstrapsigner,tokencleaner"
,
"controllers"
:
"*,bootstrapsigner,tokencleaner"
,
"authentication-kubeconfig"
:
filepath
.
Join
(
kubeadmconstants
.
KubernetesDir
,
kubeadmconstants
.
ControllerManagerKubeConfigFileName
),
}
"authorization-kubeconfig"
:
filepath
.
Join
(
kubeadmconstants
.
KubernetesDir
,
kubeadmconstants
.
ControllerManagerKubeConfigFileName
),
"client-ca-file"
:
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
CACertName
),
//add the extra arguments for v1.12+
"requestheader-client-ca-file"
:
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
FrontProxyCACertName
),
if
k8sVersion
.
Major
()
>=
1
&&
k8sVersion
.
Minor
()
>=
12
{
defaultArguments
[
"authentication-kubeconfig"
]
=
filepath
.
Join
(
kubeadmconstants
.
KubernetesDir
,
kubeadmconstants
.
ControllerManagerKubeConfigFileName
)
defaultArguments
[
"authorization-kubeconfig"
]
=
filepath
.
Join
(
kubeadmconstants
.
KubernetesDir
,
kubeadmconstants
.
ControllerManagerKubeConfigFileName
)
defaultArguments
[
"client-ca-file"
]
=
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
CACertName
)
defaultArguments
[
"requestheader-client-ca-file"
]
=
filepath
.
Join
(
cfg
.
CertificatesDir
,
kubeadmconstants
.
FrontProxyCACertName
)
}
}
// If using external CA, pass empty string to controller manager instead of ca.key/ca.crt path,
// If using external CA, pass empty string to controller manager instead of ca.key/ca.crt path,
...
...
cmd/kubeadm/app/phases/controlplane/manifests_test.go
View file @
6eeff3e6
...
@@ -663,10 +663,10 @@ func TestGetControllerManagerCommand(t *testing.T) {
...
@@ -663,10 +663,10 @@ func TestGetControllerManagerCommand(t *testing.T) {
expected
[]
string
expected
[]
string
}{
}{
{
{
name
:
"custom certs dir"
,
name
:
"custom certs dir
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
CertificatesDir
:
testCertsDir
,
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
},
},
expected
:
[]
string
{
expected
:
[]
string
{
"kube-controller-manager"
,
"kube-controller-manager"
,
...
@@ -686,11 +686,11 @@ func TestGetControllerManagerCommand(t *testing.T) {
...
@@ -686,11 +686,11 @@ func TestGetControllerManagerCommand(t *testing.T) {
},
},
},
},
{
{
name
:
"custom cloudprovider"
,
name
:
"custom cloudprovider
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
CertificatesDir
:
testCertsDir
,
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
},
},
expected
:
[]
string
{
expected
:
[]
string
{
"kube-controller-manager"
,
"kube-controller-manager"
,
...
@@ -713,12 +713,12 @@ func TestGetControllerManagerCommand(t *testing.T) {
...
@@ -713,12 +713,12 @@ func TestGetControllerManagerCommand(t *testing.T) {
},
},
},
},
{
{
name
:
"custom extra-args"
,
name
:
"custom extra-args
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
ControllerManagerExtraArgs
:
map
[
string
]
string
{
"node-cidr-mask-size"
:
"20"
},
ControllerManagerExtraArgs
:
map
[
string
]
string
{
"node-cidr-mask-size"
:
"20"
},
CertificatesDir
:
testCertsDir
,
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
},
},
expected
:
[]
string
{
expected
:
[]
string
{
"kube-controller-manager"
,
"kube-controller-manager"
,
...
@@ -741,11 +741,11 @@ func TestGetControllerManagerCommand(t *testing.T) {
...
@@ -741,11 +741,11 @@ func TestGetControllerManagerCommand(t *testing.T) {
},
},
},
},
{
{
name
:
"custom IPv6 networking"
,
name
:
"custom IPv6 networking
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"2001:db8::/64"
},
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"2001:db8::/64"
},
CertificatesDir
:
testCertsDir
,
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
},
},
expected
:
[]
string
{
expected
:
[]
string
{
"kube-controller-manager"
,
"kube-controller-manager"
,
...
@@ -767,6 +767,95 @@ func TestGetControllerManagerCommand(t *testing.T) {
...
@@ -767,6 +767,95 @@ func TestGetControllerManagerCommand(t *testing.T) {
"--node-cidr-mask-size=80"
,
"--node-cidr-mask-size=80"
,
},
},
},
},
{
name
:
"custom certs dir for v1.11.3"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.11.3"
,
},
expected
:
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
testCertsDir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
testCertsDir
+
"/sa.key"
,
"--cluster-signing-cert-file="
+
testCertsDir
+
"/ca.crt"
,
"--cluster-signing-key-file="
+
testCertsDir
+
"/ca.key"
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
},
},
{
name
:
"custom cloudprovider for v1.11.3"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.11.3"
,
},
expected
:
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
testCertsDir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
testCertsDir
+
"/sa.key"
,
"--cluster-signing-cert-file="
+
testCertsDir
+
"/ca.crt"
,
"--cluster-signing-key-file="
+
testCertsDir
+
"/ca.key"
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
"--allocate-node-cidrs=true"
,
"--cluster-cidr=10.0.1.15/16"
,
"--node-cidr-mask-size=24"
,
},
},
{
name
:
"custom extra-args for v1.11.3"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"10.0.1.15/16"
},
ControllerManagerExtraArgs
:
map
[
string
]
string
{
"node-cidr-mask-size"
:
"20"
},
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.11.3"
,
},
expected
:
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
testCertsDir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
testCertsDir
+
"/sa.key"
,
"--cluster-signing-cert-file="
+
testCertsDir
+
"/ca.crt"
,
"--cluster-signing-key-file="
+
testCertsDir
+
"/ca.key"
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
"--allocate-node-cidrs=true"
,
"--cluster-cidr=10.0.1.15/16"
,
"--node-cidr-mask-size=20"
,
},
},
{
name
:
"custom IPv6 networking for v1.11.3"
,
cfg
:
&
kubeadmapi
.
ClusterConfiguration
{
Networking
:
kubeadmapi
.
Networking
{
PodSubnet
:
"2001:db8::/64"
},
CertificatesDir
:
testCertsDir
,
KubernetesVersion
:
"v1.11.3"
,
},
expected
:
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
testCertsDir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
testCertsDir
+
"/sa.key"
,
"--cluster-signing-cert-file="
+
testCertsDir
+
"/ca.crt"
,
"--cluster-signing-key-file="
+
testCertsDir
+
"/ca.key"
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
"--allocate-node-cidrs=true"
,
"--cluster-cidr=2001:db8::/64"
,
"--node-cidr-mask-size=80"
,
},
},
}
}
for
_
,
rt
:=
range
tests
{
for
_
,
rt
:=
range
tests
{
...
@@ -868,11 +957,11 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
...
@@ -868,11 +957,11 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
expectedArgFunc
func
(
dir
string
)
[]
string
expectedArgFunc
func
(
dir
string
)
[]
string
}{
}{
{
{
name
:
"caKeyPresent-false"
,
name
:
"caKeyPresent-false
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
cfg
:
&
kubeadmapi
.
InitConfiguration
{
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
},
},
},
},
...
@@ -897,11 +986,11 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
...
@@ -897,11 +986,11 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
},
},
},
},
{
{
name
:
"caKeyPresent true"
,
name
:
"caKeyPresent true
for v1.12.0-beta.2
"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
cfg
:
&
kubeadmapi
.
InitConfiguration
{
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
KubernetesVersion
:
"v1.
7.0
"
,
KubernetesVersion
:
"v1.
12.0-beta.2
"
,
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
},
},
},
},
...
@@ -925,6 +1014,56 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
...
@@ -925,6 +1014,56 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) {
}
}
},
},
},
},
{
name
:
"caKeyPresent-false for v1.11.3"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
KubernetesVersion
:
"v1.11.3"
,
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
},
},
caKeyPresent
:
false
,
expectedArgFunc
:
func
(
tmpdir
string
)
[]
string
{
return
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
tmpdir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
tmpdir
+
"/sa.key"
,
"--cluster-signing-cert-file="
,
"--cluster-signing-key-file="
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
}
},
},
{
name
:
"caKeyPresent true for v1.11.3"
,
cfg
:
&
kubeadmapi
.
InitConfiguration
{
APIEndpoint
:
kubeadmapi
.
APIEndpoint
{
AdvertiseAddress
:
"1.2.3.4"
},
ClusterConfiguration
:
kubeadmapi
.
ClusterConfiguration
{
KubernetesVersion
:
"v1.11.3"
,
Networking
:
kubeadmapi
.
Networking
{
ServiceSubnet
:
"10.96.0.0/12"
,
DNSDomain
:
"cluster.local"
},
},
},
caKeyPresent
:
true
,
expectedArgFunc
:
func
(
tmpdir
string
)
[]
string
{
return
[]
string
{
"kube-controller-manager"
,
"--address=127.0.0.1"
,
"--leader-elect=true"
,
"--kubeconfig="
+
kubeadmconstants
.
KubernetesDir
+
"/controller-manager.conf"
,
"--root-ca-file="
+
tmpdir
+
"/ca.crt"
,
"--service-account-private-key-file="
+
tmpdir
+
"/sa.key"
,
"--cluster-signing-cert-file="
+
tmpdir
+
"/ca.crt"
,
"--cluster-signing-key-file="
+
tmpdir
+
"/ca.key"
,
"--use-service-account-credentials=true"
,
"--controllers=*,bootstrapsigner,tokencleaner"
,
}
},
},
}
}
for
_
,
test
:=
range
tests
{
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