mirror of https://github.com/k3s-io/k3s
kube-dns: Add --dns-bind-address flag
Currently, kube-dns always binds to 0.0.0.0 when starting the SkyDNS server. Sometimes its useful to have it bind to a different address for testing. So add a new --dns-bind-address flag that can be used to configure this (default is 0.0.0.0).pull/6/head
parent
1834039960
commit
b629ab8714
|
@ -34,6 +34,7 @@ type KubeDNSConfig struct {
|
|||
KubeConfigFile string
|
||||
KubeMasterURL string
|
||||
HealthzPort int
|
||||
DNSBindAddress string
|
||||
DNSPort int
|
||||
// Federations maps federation names to their registered domain names.
|
||||
Federations map[string]string
|
||||
|
@ -45,6 +46,7 @@ func NewKubeDNSConfig() *KubeDNSConfig {
|
|||
KubeConfigFile: "",
|
||||
KubeMasterURL: "",
|
||||
HealthzPort: 8081,
|
||||
DNSBindAddress: "0.0.0.0",
|
||||
DNSPort: 53,
|
||||
Federations: make(map[string]string),
|
||||
}
|
||||
|
@ -143,6 +145,7 @@ 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.StringVar(&s.DNSBindAddress, "dns-bind-address", s.DNSBindAddress, "address on which to serve DNS requests.")
|
||||
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\"")
|
||||
}
|
||||
|
|
|
@ -39,10 +39,11 @@ import (
|
|||
|
||||
type KubeDNSServer struct {
|
||||
// DNS domain name.
|
||||
domain string
|
||||
healthzPort int
|
||||
dnsPort int
|
||||
kd *kdns.KubeDNS
|
||||
domain string
|
||||
healthzPort int
|
||||
dnsBindAddress string
|
||||
dnsPort int
|
||||
kd *kdns.KubeDNS
|
||||
}
|
||||
|
||||
func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer {
|
||||
|
@ -55,6 +56,7 @@ func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer {
|
|||
glog.Fatalf("Failed to create a kubernetes client: %v", err)
|
||||
}
|
||||
ks.healthzPort = config.HealthzPort
|
||||
ks.dnsBindAddress = config.DNSBindAddress
|
||||
ks.dnsPort = config.DNSPort
|
||||
ks.kd, err = kdns.NewKubeDNS(kubeClient, config.ClusterDomain, config.Federations)
|
||||
if err != nil {
|
||||
|
@ -135,8 +137,8 @@ func setupSignalHandlers() {
|
|||
}
|
||||
|
||||
func (d *KubeDNSServer) startSkyDNSServer() {
|
||||
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)}
|
||||
glog.Infof("Starting SkyDNS server. Listening on %s:%d", d.dnsBindAddress, d.dnsPort)
|
||||
skydnsConfig := &server.Config{Domain: d.domain, DnsAddr: fmt.Sprintf("%s:%d", d.dnsBindAddress, d.dnsPort)}
|
||||
server.SetDefaults(skydnsConfig)
|
||||
s := server.New(d.kd, skydnsConfig)
|
||||
if err := metrics.Metrics(); err != nil {
|
||||
|
|
Loading…
Reference in New Issue