aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/reverse.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2017-11-10 11:59:21 -0500
committerGravatar Miek Gieben <miek@miek.nl> 2017-11-10 16:59:21 +0000
commita78f46fb28aa4a8c533f40b7bd808b09572f7e66 (patch)
treeec6ef03bde886a6535a2ad33e7ed58b02b6f9f78 /plugin/kubernetes/reverse.go
parentbeef212fbef226186b6e3a18cbba8687ed2b65d4 (diff)
downloadcoredns-a78f46fb28aa4a8c533f40b7bd808b09572f7e66.tar.gz
coredns-a78f46fb28aa4a8c533f40b7bd808b09572f7e66.tar.zst
coredns-a78f46fb28aa4a8c533f40b7bd808b09572f7e66.zip
plugin/k8s: Use service IP index in reverse lookups (#1212)
* use index for svc reverse lookup * temp revert * restore reverse.go * restore reverse_test.go
Diffstat (limited to 'plugin/kubernetes/reverse.go')
-rw-r--r--plugin/kubernetes/reverse.go8
1 files changed, 3 insertions, 5 deletions
diff --git a/plugin/kubernetes/reverse.go b/plugin/kubernetes/reverse.go
index 13cc78b8f..e74ab88f1 100644
--- a/plugin/kubernetes/reverse.go
+++ b/plugin/kubernetes/reverse.go
@@ -25,14 +25,12 @@ func (k *Kubernetes) Reverse(state request.Request, exact bool, opt plugin.Optio
// If a service cluster ip does not match, it checks all endpoints
func (k *Kubernetes) serviceRecordForIP(ip, name string) []msg.Service {
// First check services with cluster ips
- for _, service := range k.APIConn.ServiceList() {
+ for _, service := range k.APIConn.SvcIndexReverse(ip) {
if (len(k.Namespaces) > 0) && !k.namespaceExposed(service.Namespace) {
continue
}
- if service.Spec.ClusterIP == ip {
- domain := strings.Join([]string{service.Name, service.Namespace, Svc, k.primaryZone()}, ".")
- return []msg.Service{{Host: domain}}
- }
+ domain := strings.Join([]string{service.Name, service.Namespace, Svc, k.primaryZone()}, ".")
+ return []msg.Service{{Host: domain}}
}
// If no cluster ips match, search endpoints
for _, ep := range k.APIConn.EpIndexReverse(ip) {