added dns-port flag to have a custom DNS port for skydns to serve DNS requests on. updated imports

This commit is contained in:
Abhishek Shah
2016-05-23 14:54:00 -07:00
parent 4215fe57a5
commit fcba7c3e5f
4 changed files with 24 additions and 20 deletions

View File

@@ -33,6 +33,7 @@ type KubeDNSConfig struct {
KubeConfigFile string
KubeMasterURL string
HealthzPort int
DNSPort int
// Federations maps federation names to their registered domain names.
Federations map[string]string
}
@@ -43,6 +44,7 @@ func NewKubeDNSConfig() *KubeDNSConfig {
KubeConfigFile: "",
KubeMasterURL: "",
HealthzPort: 8081,
DNSPort: 53,
Federations: make(map[string]string),
}
}
@@ -140,5 +142,6 @@ func (s *KubeDNSConfig) AddFlags(fs *pflag.FlagSet) {
fs.StringVar(&s.KubeConfigFile, "kubecfg-file", s.KubeConfigFile, "Location of kubecfg file for access to kubernetes master service; --kube-master-url overrides the URL part of this; if neither this nor --kube-master-url are provided, defaults to service account tokens")
fs.Var(kubeMasterURLVar{&s.KubeMasterURL}, "kube-master-url", "URL to reach kubernetes master. Env variables in this flag will be expanded.")
fs.IntVar(&s.HealthzPort, "healthz-port", s.HealthzPort, "port on which to serve a kube-dns HTTP readiness probe.")
fs.IntVar(&s.DNSPort, "dns-port", s.DNSPort, "port on which to serve DNS requests.")
fs.Var(federationsVar{s.Federations}, "federations", "a comma separated list of the federation names and their corresponding domain names to which this cluster belongs. Example: \"myfederation1=example.com,myfederation2=example2.com,myfederation3=example.com\"")
}

View File

@@ -28,7 +28,7 @@ import (
"github.com/skynetservices/skydns/server"
"k8s.io/kubernetes/cmd/kube-dns/app/options"
"k8s.io/kubernetes/pkg/api/unversioned"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/restclient"
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
kdns "k8s.io/kubernetes/pkg/dns"
@@ -38,6 +38,7 @@ type KubeDNSServer struct {
// DNS domain name.
domain string
healthzPort int
dnsPort int
kd *kdns.KubeDNS
}
@@ -51,6 +52,7 @@ func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer {
glog.Fatalf("Failed to create a kubernetes client: %v", err)
}
ks.healthzPort = config.HealthzPort
ks.dnsPort = config.DNSPort
ks.kd = kdns.NewKubeDNS(kubeClient, config.ClusterDomain, config.Federations)
return &ks
}
@@ -124,7 +126,8 @@ func setupSignalHandlers() {
}
func (d *KubeDNSServer) startSkyDNSServer() {
skydnsConfig := &server.Config{Domain: d.domain, DnsAddr: "0.0.0.0:53"}
glog.Infof("Starting SkyDNS server. Listening on port:%d", d.dnsPort)
skydnsConfig := &server.Config{Domain: d.domain, DnsAddr: fmt.Sprintf("0.0.0.0:%d", d.dnsPort)}
server.SetDefaults(skydnsConfig)
s := server.New(d.kd, skydnsConfig)
if err := metrics.Metrics(); err != nil {