diff --git a/provider/kubernetes.go b/provider/kubernetes.go index 7b3cc0176..b8e37fdb2 100644 --- a/provider/kubernetes.go +++ b/provider/kubernetes.go @@ -215,10 +215,14 @@ func (provider *Kubernetes) loadIngresses(k8sClient k8s.Client) (*types.Configur } } else { endpoints, exists, err := k8sClient.GetEndpoints(service.ObjectMeta.Namespace, service.ObjectMeta.Name) - if err != nil || !exists { - log.Errorf("Error retrieving endpoints %s/%s: %v", service.ObjectMeta.Namespace, service.ObjectMeta.Name, err) + if err != nil { + log.Errorf("Error while retrieving endpoints from k8s API %s/%s: %v", service.ObjectMeta.Namespace, service.ObjectMeta.Name, err) + continue + } else if !exists { + log.Errorf("Service not found for %s/%s", service.ObjectMeta.Namespace, service.ObjectMeta.Name) continue } + if len(endpoints.Subsets) == 0 { log.Warnf("Endpoints not found for %s/%s, falling back to Service ClusterIP", service.ObjectMeta.Namespace, service.ObjectMeta.Name) templateObjects.Backends[r.Host+pa.Path].Servers[string(service.UID)] = types.Server{