mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #33379 from grosskur/kube-dns-bind-address
Automatic merge from submit-queue kube-dns: Add --dns-bind-address flag Currently, `kube-dns` always binds to `0.0.0.0` when starting the SkyDNS server. Sometimes it's 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`).
This commit is contained in:
commit
6a2f0932e4
@ -34,6 +34,7 @@ type KubeDNSConfig struct {
|
|||||||
KubeConfigFile string
|
KubeConfigFile string
|
||||||
KubeMasterURL string
|
KubeMasterURL string
|
||||||
HealthzPort int
|
HealthzPort int
|
||||||
|
DNSBindAddress string
|
||||||
DNSPort int
|
DNSPort int
|
||||||
// Federations maps federation names to their registered domain names.
|
// Federations maps federation names to their registered domain names.
|
||||||
Federations map[string]string
|
Federations map[string]string
|
||||||
@ -45,6 +46,7 @@ func NewKubeDNSConfig() *KubeDNSConfig {
|
|||||||
KubeConfigFile: "",
|
KubeConfigFile: "",
|
||||||
KubeMasterURL: "",
|
KubeMasterURL: "",
|
||||||
HealthzPort: 8081,
|
HealthzPort: 8081,
|
||||||
|
DNSBindAddress: "0.0.0.0",
|
||||||
DNSPort: 53,
|
DNSPort: 53,
|
||||||
Federations: make(map[string]string),
|
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.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.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.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.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\"")
|
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\"")
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ type KubeDNSServer struct {
|
|||||||
// DNS domain name.
|
// DNS domain name.
|
||||||
domain string
|
domain string
|
||||||
healthzPort int
|
healthzPort int
|
||||||
|
dnsBindAddress string
|
||||||
dnsPort int
|
dnsPort int
|
||||||
kd *kdns.KubeDNS
|
kd *kdns.KubeDNS
|
||||||
}
|
}
|
||||||
@ -55,6 +56,7 @@ func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer {
|
|||||||
glog.Fatalf("Failed to create a kubernetes client: %v", err)
|
glog.Fatalf("Failed to create a kubernetes client: %v", err)
|
||||||
}
|
}
|
||||||
ks.healthzPort = config.HealthzPort
|
ks.healthzPort = config.HealthzPort
|
||||||
|
ks.dnsBindAddress = config.DNSBindAddress
|
||||||
ks.dnsPort = config.DNSPort
|
ks.dnsPort = config.DNSPort
|
||||||
ks.kd, err = kdns.NewKubeDNS(kubeClient, config.ClusterDomain, config.Federations)
|
ks.kd, err = kdns.NewKubeDNS(kubeClient, config.ClusterDomain, config.Federations)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -135,8 +137,8 @@ func setupSignalHandlers() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *KubeDNSServer) startSkyDNSServer() {
|
func (d *KubeDNSServer) startSkyDNSServer() {
|
||||||
glog.Infof("Starting SkyDNS server. Listening on port:%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("0.0.0.0:%d", d.dnsPort)}
|
skydnsConfig := &server.Config{Domain: d.domain, DnsAddr: fmt.Sprintf("%s:%d", d.dnsBindAddress, d.dnsPort)}
|
||||||
server.SetDefaults(skydnsConfig)
|
server.SetDefaults(skydnsConfig)
|
||||||
s := server.New(d.kd, skydnsConfig)
|
s := server.New(d.kd, skydnsConfig)
|
||||||
if err := metrics.Metrics(); err != nil {
|
if err := metrics.Metrics(); err != nil {
|
||||||
|
@ -128,6 +128,7 @@ deserialization-cache-size
|
|||||||
dest-file
|
dest-file
|
||||||
disable-filter
|
disable-filter
|
||||||
disable-kubenet
|
disable-kubenet
|
||||||
|
dns-bind-address
|
||||||
dns-port
|
dns-port
|
||||||
dns-provider
|
dns-provider
|
||||||
dns-provider-config
|
dns-provider-config
|
||||||
|
Loading…
Reference in New Issue
Block a user