Skip to content

Instantly share code, notes, and snippets.

@pmichali
Created November 29, 2017 14:11
Show Gist options
  • Save pmichali/c894b935ea75f79fe6c748f7ec2ced42 to your computer and use it in GitHub Desktop.
Save pmichali/c894b935ea75f79fe6c748f7ec2ced42 to your computer and use it in GitHub Desktop.
diff --git a/cmd/kubeadm/app/phases/addons/dns/dns.go b/cmd/kubeadm/app/phases/addons/dns/dns.go
index cc0e721..c3e1a7d 100644
--- a/cmd/kubeadm/app/phases/addons/dns/dns.go
+++ b/cmd/kubeadm/app/phases/addons/dns/dns.go
@@ -18,6 +18,7 @@ package dns
import (
"fmt"
+ "net"
"runtime"
apps "k8s.io/api/apps/v1beta2"
@@ -63,28 +64,27 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac
return err
}
- var dnsBindAddr, dnsProbeAddr string
+ var dnsBindAddr string
if dnsip.To4() == nil {
dnsBindAddr = "::1"
- dnsProbeAddr = "[::1]"
} else {
dnsBindAddr = "127.0.0.1"
- dnsProbeAddr = "127.0.0.1"
}
// Get the YAML manifest conditionally based on the k8s version
kubeDNSDeploymentBytes := GetKubeDNSManifest(k8sVersion)
dnsDeploymentBytes, err := kubeadmutil.ParseTemplate(kubeDNSDeploymentBytes,
- struct{ ImageRepository, Arch, Version, DNSBindAddr, DNSProbeAddr, DNSDomain, DNSProbeType, MasterTaintKey string }{
+ struct{ ImageRepository, Arch, Version, DNSBindAddr, KubeDNSHostPort, DNSMasqHostPort, DNSDomain, DNSProbeType, MasterTaintKey string }{
ImageRepository: cfg.ImageRepository,
Arch: runtime.GOARCH,
// Get the kube-dns version conditionally based on the k8s version
- Version: GetDNSVersion(k8sVersion, kubeadmconstants.KubeDNS),
- DNSBindAddr: dnsBindAddr,
- DNSProbeAddr: dnsProbeAddr,
- DNSDomain: cfg.Networking.DNSDomain,
- DNSProbeType: GetKubeDNSProbeType(k8sVersion),
- MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
+ Version: GetDNSVersion(k8sVersion, kubeadmconstants.KubeDNS),
+ DNSBindAddr: dnsBindAddr,
+ KubeDNSHostPort: net.JoinHostPort(dnsBindAddr, "10053"),
+ DNSMasqHostPort: net.JoinHostPort(dnsBindAddr, "53"),
+ DNSDomain: cfg.Networking.DNSDomain,
+ DNSProbeType: GetKubeDNSProbeType(k8sVersion),
+ MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
})
if err != nil {
return fmt.Errorf("error when parsing kube-dns deployment template: %v", err)
diff --git a/cmd/kubeadm/app/phases/addons/dns/manifests.go b/cmd/kubeadm/app/phases/addons/dns/manifests.go
index cbf4347..bde3bb5 100644
--- a/cmd/kubeadm/app/phases/addons/dns/manifests.go
+++ b/cmd/kubeadm/app/phases/addons/dns/manifests.go
@@ -156,8 +156,8 @@ spec:
args:
- --v=2
- --logtostderr
- - --probe=kubedns,{{ .DNSProbeAddr }}:10053,kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }}
- - --probe=dnsmasq,{{ .DNSProbeAddr }}:53,kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }}
+ - --probe=kubedns,{{ .KubeDNSHostPort }},kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }}
+ - --probe=dnsmasq,{{ .DNSMasqHostPort }},kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }}
ports:
- containerPort: 10054
name: metrics
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment