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
205cbf47
Commit
205cbf47
authored
Dec 16, 2017
by
xiangpengzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update DNS version in kubeadm of 1.10 cycle.
parent
f5f6f3e7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
105 deletions
+23
-105
dns.go
cmd/kubeadm/app/phases/addons/dns/dns.go
+1
-2
dns_test.go
cmd/kubeadm/app/phases/addons/dns/dns_test.go
+1
-2
manifests.go
cmd/kubeadm/app/phases/addons/dns/manifests.go
+2
-2
versions.go
cmd/kubeadm/app/phases/addons/dns/versions.go
+3
-25
versions_test.go
cmd/kubeadm/app/phases/addons/dns/versions_test.go
+16
-74
No files found.
cmd/kubeadm/app/phases/addons/dns/dns.go
View file @
205cbf47
...
@@ -75,7 +75,7 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
...
@@ -75,7 +75,7 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
// Get the YAML manifest conditionally based on the k8s version
// Get the YAML manifest conditionally based on the k8s version
kubeDNSDeploymentBytes
:=
GetKubeDNSManifest
(
k8sVersion
)
kubeDNSDeploymentBytes
:=
GetKubeDNSManifest
(
k8sVersion
)
dnsDeploymentBytes
,
err
:=
kubeadmutil
.
ParseTemplate
(
kubeDNSDeploymentBytes
,
dnsDeploymentBytes
,
err
:=
kubeadmutil
.
ParseTemplate
(
kubeDNSDeploymentBytes
,
struct
{
ImageRepository
,
Arch
,
Version
,
DNSBindAddr
,
DNSProbeAddr
,
DNSDomain
,
DNSProbeType
,
MasterTaintKey
string
}{
struct
{
ImageRepository
,
Arch
,
Version
,
DNSBindAddr
,
DNSProbeAddr
,
DNSDomain
,
MasterTaintKey
string
}{
ImageRepository
:
cfg
.
ImageRepository
,
ImageRepository
:
cfg
.
ImageRepository
,
Arch
:
runtime
.
GOARCH
,
Arch
:
runtime
.
GOARCH
,
// Get the kube-dns version conditionally based on the k8s version
// Get the kube-dns version conditionally based on the k8s version
...
@@ -83,7 +83,6 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
...
@@ -83,7 +83,6 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
DNSBindAddr
:
dnsBindAddr
,
DNSBindAddr
:
dnsBindAddr
,
DNSProbeAddr
:
dnsProbeAddr
,
DNSProbeAddr
:
dnsProbeAddr
,
DNSDomain
:
cfg
.
Networking
.
DNSDomain
,
DNSDomain
:
cfg
.
Networking
.
DNSDomain
,
DNSProbeType
:
GetKubeDNSProbeType
(
k8sVersion
),
MasterTaintKey
:
kubeadmconstants
.
LabelNodeRoleMaster
,
MasterTaintKey
:
kubeadmconstants
.
LabelNodeRoleMaster
,
})
})
if
err
!=
nil
{
if
err
!=
nil
{
...
...
cmd/kubeadm/app/phases/addons/dns/dns_test.go
View file @
205cbf47
...
@@ -92,14 +92,13 @@ func TestCompileManifests(t *testing.T) {
...
@@ -92,14 +92,13 @@ func TestCompileManifests(t *testing.T) {
}{
}{
{
{
manifest
:
v180AndAboveKubeDNSDeployment
,
manifest
:
v180AndAboveKubeDNSDeployment
,
data
:
struct
{
ImageRepository
,
Arch
,
Version
,
DNSBindAddr
,
DNSProbeAddr
,
DNSDomain
,
DNSProbeType
,
MasterTaintKey
string
}{
data
:
struct
{
ImageRepository
,
Arch
,
Version
,
DNSBindAddr
,
DNSProbeAddr
,
DNSDomain
,
MasterTaintKey
string
}{
ImageRepository
:
"foo"
,
ImageRepository
:
"foo"
,
Arch
:
"foo"
,
Arch
:
"foo"
,
Version
:
"foo"
,
Version
:
"foo"
,
DNSBindAddr
:
"foo"
,
DNSBindAddr
:
"foo"
,
DNSProbeAddr
:
"foo"
,
DNSProbeAddr
:
"foo"
,
DNSDomain
:
"foo"
,
DNSDomain
:
"foo"
,
DNSProbeType
:
"foo"
,
MasterTaintKey
:
"foo"
,
MasterTaintKey
:
"foo"
,
},
},
expected
:
true
,
expected
:
true
,
...
...
cmd/kubeadm/app/phases/addons/dns/manifests.go
View file @
205cbf47
...
@@ -156,8 +156,8 @@ spec:
...
@@ -156,8 +156,8 @@ spec:
args:
args:
- --v=2
- --v=2
- --logtostderr
- --logtostderr
- --probe=kubedns,{{ .DNSProbeAddr }}:10053,kubernetes.default.svc.{{ .DNSDomain }},5,
{{ .DNSProbeType }}
- --probe=kubedns,{{ .DNSProbeAddr }}:10053,kubernetes.default.svc.{{ .DNSDomain }},5,
SRV
- --probe=dnsmasq,{{ .DNSProbeAddr }}:53,kubernetes.default.svc.{{ .DNSDomain }},5,
{{ .DNSProbeType }}
- --probe=dnsmasq,{{ .DNSProbeAddr }}:53,kubernetes.default.svc.{{ .DNSDomain }},5,
SRV
ports:
ports:
- containerPort: 10054
- containerPort: 10054
name: metrics
name: metrics
...
...
cmd/kubeadm/app/phases/addons/dns/versions.go
View file @
205cbf47
...
@@ -22,46 +22,24 @@ import (
...
@@ -22,46 +22,24 @@ import (
)
)
const
(
const
(
kubeDNSv180AndAboveVersion
=
"1.14.5"
kubeDNSv190AndAboveVersion
=
"1.14.7"
kubeDNSv190AndAboveVersion
=
"1.14.7"
coreDNSVersion
=
"1.0.1"
kubeDNSProbeSRV
=
"SRV"
kubeDNSProbeA
=
"A"
coreDNSVersion
=
"1.0.1"
)
)
// GetDNSVersion returns the right kube-dns version for a specific k8s version
// GetDNSVersion returns the right kube-dns version for a specific k8s version
func
GetDNSVersion
(
kubeVersion
*
version
.
Version
,
dns
string
)
string
{
func
GetDNSVersion
(
kubeVersion
*
version
.
Version
,
dns
string
)
string
{
// v1.8.0+ uses kube-dns 1.14.5
// v1.9.0+ uses kube-dns 1.14.7
// v1.9.0+ uses kube-dns 1.14.7
// v1.9.0+ uses CoreDNS 1.0.1
// v1.9.0+ uses CoreDNS 1.0.1
if feature gate "CoreDNS" is enabled.
// In the future when the version is bumped at HEAD; add conditional logic to return the right versions
// In the future when the version is bumped at HEAD; add conditional logic to return the right versions
// Also, the version might be bumped for different k8s releases on the same branch
// Also, the version might be bumped for different k8s releases on the same branch
switch
dns
{
switch
dns
{
case
kubeadmconstants
.
KubeDNS
:
// return the kube-dns version
if
kubeVersion
.
Major
()
==
1
&&
kubeVersion
.
Minor
()
>=
9
{
return
kubeDNSv190AndAboveVersion
}
return
kubeDNSv180AndAboveVersion
case
kubeadmconstants
.
CoreDNS
:
case
kubeadmconstants
.
CoreDNS
:
// return the CoreDNS version
// return the CoreDNS version
return
coreDNSVersion
return
coreDNSVersion
default
:
default
:
return
kubeDNSv180AndAboveVersion
return
kubeDNSv190AndAboveVersion
}
}
// GetKubeDNSProbeType returns the right kube-dns probe for a specific k8s version
func
GetKubeDNSProbeType
(
kubeVersion
*
version
.
Version
)
string
{
// v1.8.0+ uses type A, just return that here
// In the future when the kube-dns version is bumped at HEAD; add conditional logic to return the right versions
// Also, the version might be bumped for different k8s releases on the same branch
if
kubeVersion
.
Major
()
==
1
&&
kubeVersion
.
Minor
()
>=
9
{
return
kubeDNSProbeSRV
}
}
return
kubeDNSProbeA
}
}
// GetKubeDNSManifest returns the right kube-dns YAML manifest for a specific k8s version
// GetKubeDNSManifest returns the right kube-dns YAML manifest for a specific k8s version
...
...
cmd/kubeadm/app/phases/addons/dns/versions_test.go
View file @
205cbf47
...
@@ -25,45 +25,38 @@ import (
...
@@ -25,45 +25,38 @@ import (
func
TestGetKubeDNSVersion
(
t
*
testing
.
T
)
{
func
TestGetKubeDNSVersion
(
t
*
testing
.
T
)
{
var
tests
=
[]
struct
{
var
tests
=
[]
struct
{
k8sVersion
,
expected
string
k8sVersion
string
dns
string
expected
string
}{
}{
{
{
k8sVersion
:
"v1.7.0"
,
k8sVersion
:
"v1.9.0"
,
expected
:
"1.14.5"
,
dns
:
kubeadmconstants
.
KubeDNS
,
},
expected
:
kubeDNSv190AndAboveVersion
,
{
k8sVersion
:
"v1.7.1"
,
expected
:
"1.14.5"
,
},
{
k8sVersion
:
"v1.7.2"
,
expected
:
"1.14.5"
,
},
{
k8sVersion
:
"v1.7.3"
,
expected
:
"1.14.5"
,
},
},
{
{
k8sVersion
:
"v1.8.0-alpha.2"
,
k8sVersion
:
"v1.10.0"
,
expected
:
"1.14.5"
,
dns
:
kubeadmconstants
.
KubeDNS
,
expected
:
kubeDNSv190AndAboveVersion
,
},
},
{
{
k8sVersion
:
"v1.8.0"
,
k8sVersion
:
"v1.9.0"
,
expected
:
"1.14.5"
,
dns
:
kubeadmconstants
.
CoreDNS
,
expected
:
coreDNSVersion
,
},
},
{
{
k8sVersion
:
"v1.9.0"
,
k8sVersion
:
"v1.10.0"
,
expected
:
"1.14.7"
,
dns
:
kubeadmconstants
.
CoreDNS
,
expected
:
coreDNSVersion
,
},
},
}
}
for
_
,
rt
:=
range
tests
{
for
_
,
rt
:=
range
tests
{
k8sVersion
,
err
:=
version
.
ParseSemantic
(
rt
.
k8sVersion
)
k8sVersion
,
err
:=
version
.
ParseSemantic
(
rt
.
k8sVersion
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"couldn't parse kubernetes version %q: %v"
,
rt
.
k8sVersion
,
err
)
t
.
Fatalf
(
"couldn't parse kubernetes version %q: %v"
,
rt
.
k8sVersion
,
err
)
}
}
actualDNSVersion
:=
GetDNSVersion
(
k8sVersion
,
kubeadmconstants
.
KubeDNS
)
actualDNSVersion
:=
GetDNSVersion
(
k8sVersion
,
rt
.
dns
)
if
actualDNSVersion
!=
rt
.
expected
{
if
actualDNSVersion
!=
rt
.
expected
{
t
.
Errorf
(
t
.
Errorf
(
"failed GetDNSVersion:
\n\t
expected: %s
\n\t
actual: %s"
,
"failed GetDNSVersion:
\n\t
expected: %s
\n\t
actual: %s"
,
...
@@ -73,54 +66,3 @@ func TestGetKubeDNSVersion(t *testing.T) {
...
@@ -73,54 +66,3 @@ func TestGetKubeDNSVersion(t *testing.T) {
}
}
}
}
}
}
func
TestGetKubeDNSProbeType
(
t
*
testing
.
T
)
{
var
tests
=
[]
struct
{
k8sVersion
,
expected
string
}{
{
k8sVersion
:
"v1.7.0"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.7.1"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.7.2"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.7.3"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.8.0-alpha.2"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.8.0"
,
expected
:
"A"
,
},
{
k8sVersion
:
"v1.9.0"
,
expected
:
"SRV"
,
},
}
for
_
,
rt
:=
range
tests
{
k8sVersion
,
err
:=
version
.
ParseSemantic
(
rt
.
k8sVersion
)
if
err
!=
nil
{
t
.
Fatalf
(
"couldn't parse kubernetes version %q: %v"
,
rt
.
k8sVersion
,
err
)
}
actualDNSProbeType
:=
GetKubeDNSProbeType
(
k8sVersion
)
if
actualDNSProbeType
!=
rt
.
expected
{
t
.
Errorf
(
"failed GetKubeDNSProbeType:
\n\t
expected: %s
\n\t
actual: %s"
,
rt
.
expected
,
actualDNSProbeType
,
)
}
}
}
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