aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/ns.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/kubernetes/ns.go')
-rw-r--r--plugin/kubernetes/ns.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/plugin/kubernetes/ns.go b/plugin/kubernetes/ns.go
index 84f4e344b..3e6a30586 100644
--- a/plugin/kubernetes/ns.go
+++ b/plugin/kubernetes/ns.go
@@ -15,8 +15,9 @@ func isDefaultNS(name, zone string) bool {
// it returns a record for the local address of the machine we're running on.
func (k *Kubernetes) nsAddrs(external bool, zone string) []dns.RR {
var (
- svcNames []string
- svcIPs []net.IP
+ svcNames []string
+ svcIPs []net.IP
+ foundEndpoint bool
)
// Find the CoreDNS Endpoints
@@ -25,6 +26,7 @@ func (k *Kubernetes) nsAddrs(external bool, zone string) []dns.RR {
// Collect IPs for all Services of the Endpoints
for _, endpoint := range endpoints {
+ foundEndpoint = true
svcs := k.APIConn.SvcIndex(endpoint.Index)
for _, svc := range svcs {
if external {
@@ -54,8 +56,8 @@ func (k *Kubernetes) nsAddrs(external bool, zone string) []dns.RR {
}
}
- // If no local IPs matched any endpoints, use the localIPs directly
- if len(svcIPs) == 0 {
+ // If no CoreDNS endpoints were found, use the localIPs directly
+ if !foundEndpoint {
svcIPs = make([]net.IP, len(k.localIPs))
svcNames = make([]string, len(k.localIPs))
for i, localIP := range k.localIPs {