Revert "use keys (#2167)" (#2188)

This reverts commit 974ed086f2.
This commit is contained in:
Miek Gieben 2018-10-11 21:59:50 +01:00 committed by Chris O'Haver
parent c8fb66f8cc
commit 6ed88fab74
13 changed files with 380 additions and 291 deletions

View file

@ -4,7 +4,6 @@ import (
"net"
"strings"
"github.com/coredns/coredns/plugin/kubernetes/object"
"github.com/miekg/dns"
api "k8s.io/api/core/v1"
)
@ -23,9 +22,8 @@ func (k *Kubernetes) nsAddr() *dns.A {
localIP := k.interfaceAddrsFunc()
rr.A = localIP
ep := k.APIConn.EpIndexReverse(localIP.String())
if ep != nil {
FindEndpoint:
FindEndpoint:
for _, ep := range k.APIConn.EpIndexReverse(localIP.String()) {
for _, eps := range ep.Subsets {
for _, addr := range eps.Addresses {
if localIP.Equal(net.ParseIP(addr.IP)) {
@ -43,12 +41,15 @@ func (k *Kubernetes) nsAddr() *dns.A {
return rr
}
svc := k.APIConn.SvcIndex(object.ServiceKey(svcNamespace, svcName))
if svc != nil {
if svc.ClusterIP == api.ClusterIPNone {
rr.A = localIP
} else {
rr.A = net.ParseIP(svc.ClusterIP)
FindService:
for _, svc := range k.APIConn.ServiceList() {
if svcName == svc.Name && svcNamespace == svc.Namespace {
if svc.ClusterIP == api.ClusterIPNone {
rr.A = localIP
} else {
rr.A = net.ParseIP(svc.ClusterIP)
}
break FindService
}
}