From d60993e0210cba3576fa0bfa158a23e8abab6f80 Mon Sep 17 00:00:00 2001 From: Chris O'Haver Date: Mon, 27 Aug 2018 10:10:51 -0400 Subject: plugin/kubernetes: Create records for portless services (#2052) inject sentinels for portless services --- plugin/kubernetes/kubernetes.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'plugin/kubernetes/kubernetes.go') diff --git a/plugin/kubernetes/kubernetes.go b/plugin/kubernetes/kubernetes.go index 03b93748b..eaadb142c 100644 --- a/plugin/kubernetes/kubernetes.go +++ b/plugin/kubernetes/kubernetes.go @@ -459,13 +459,17 @@ func (k *Kubernetes) findServices(r recordRequest, zone string) (services []msg. for _, addr := range eps.Addresses { // See comments in parse.go parseRequest about the endpoint handling. - if r.endpoint != "" { if !match(r.endpoint, endpointHostname(addr, k.endpointNameMode)) { continue } } + if len(eps.Ports) == 0 { + // add a sentinel port (-1) entry so we create records for services without any declared ports + eps.Ports = append(eps.Ports, api.EndpointPort{Port: -1}) + } + for _, p := range eps.Ports { if !(match(r.port, p.Name) && match(r.protocol, string(p.Protocol))) { continue @@ -496,6 +500,10 @@ func (k *Kubernetes) findServices(r recordRequest, zone string) (services []msg. } // ClusterIP service + if len(svc.Spec.Ports) == 0 { + // add a sentinel port (-1) entry so we create records for services without any declared ports + svc.Spec.Ports = append(svc.Spec.Ports, api.ServicePort{Port: -1}) + } for _, p := range svc.Spec.Ports { if !(match(r.port, p.Name) && match(r.protocol, string(p.Protocol))) { continue -- cgit v1.2.3