Change:
I ran on a fresh minikube with no other services in it and saw this output. Which suggests there is a service in the cluster called (there isn't), and further suggests there is something wrong (there isn't) because there are no endpoints found. I expected to provide me with an accurate description of my Ingress object. This behaviour appears to be hardcoded into the kubectl describe command. Which contains a comment suggesting that this is default behaviour, but no logic to check if the service actually exists before attempting to default to it. <details</details<details</details<details</details<details</details<details</details<details</details
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/sig cli
See also do you know the history here?
not beyond what shows: Looks like an (incorrect) assumption in the describer that the only implementation would behave in this way
/assign
work in progress...
when you get the PR up please link this issue and in it and ping me directly on slack to get a fast review. I agree with what was stated here and in the other issue, that this seems like an unnecessary assumption that should've not been there, we probably should just leave it empty or per print as the value.

Discussion:
def := ing.Spec.DefaultBackend ns := ing.Namespace if def == nil { <del> // Ingresses that don't specify a default backend inherit the // default backend in the kube-system namespace. def = &networkingv1.IngressBackend{ Service: &networkingv1.IngressServiceBackend{ Name: "default-http-backend", Port: networkingv1.ServiceBackendPort{ Number: 80, }, }, } ns = metav1.NamespaceSystem </del> <ins> w.Write(LEVEL_0, "Default backend:t<default>n") } else { w.Write(LEVEL_0, "Default backend:t%sn", i.describeBackendV1(ns, def)) </ins> } <del> w.Write(LEVEL_0, "Default backend:t%sn", i.describeBackendV1(ns, def)) </del> if len(ing.Spec.TLS) != 0 { describeIngressTLSV1(w, ing.Spec.TLS) }

def := ing.Spec.Backend ns := ing.Namespace if def == nil { <del> // Ingresses that don't specify a default backend inherit the // default backend in the kube-system namespace. def = &networkingv1beta1.IngressBackend{ ServiceName: "default-http-backend", ServicePort: intstr.IntOrString{Type: intstr.Int, IntVal: 80}, } ns = metav1.NamespaceSystem </del> <ins> w.Write(LEVEL_0, "Default backend:t<default>n") } else { w.Write(LEVEL_0, "Default backend:t%sn", i.describeBackendV1beta1(ns, def)) </ins> } <del> w.Write(LEVEL_0, "Default backend:t%s (%s)n", backendStringer(def), i.describeBackendV1beta1(ns, def)) </del> if len(ing.Spec.TLS) != 0 { describeIngressTLSV1beta1(w, ing.Spec.TLS) }

} } if count == 0 { <del> w.Write(LEVEL_1, "%st%s t%s (%s)n", "*", "*", backendStringer(def), i.describeBackendV1beta1(ns, def)) </del> <ins> w.Write(LEVEL_1, "%st%s t<default>n", "*", "*") </ins> } printAnnotationsMultiline(w, "Annotations", ing.Annotations)

Namespace:        foo Address: Ingress Class:    test <del> Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>) </del> <ins> Default backend:  <default> </ins> Rules: Host         Path  Backends ----         ----  --------