aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/kubernetes.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/kubernetes/kubernetes.go')
-rw-r--r--plugin/kubernetes/kubernetes.go10
1 files changed, 9 insertions, 1 deletions
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