My yaml files for various deployments, services and ingresses have created a working setup before. I tried fixing a small issue with an ingress and can't get back to a working state.
My pods start without error and the services are up and running. The logs have no health check entries so the issue seems to be in getting the services to be contacted by name. When the ingress in creating, I see this event in the GKE interface (and not when using kubectl describe):
Error during sync: error while evaluating the ingress spec: could not find service "default/web";
The service is indeed up:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch ClusterIP None <none> 9200/TCP,9300/TCP 5h
kubernetes ClusterIP 10.31.x.x <none> 443/TCP 5h
redis-master ClusterIP 10.31.x.x <none> 6379/TCP 5h
web NodePort 10.31.x.x <none> 80:30110/TCP,443:31404/TCP 5h
websocket NodePort 10.31.x.x <none> 28080:30186/TCP 5h
I've tried restarting services and changing to an nginx ingress. My only remaining idea is to nuke the cluster. It's as if the k8s internal DNS is broken.