When creating an ingress resource in GCE using the Nginx ingress controller, the ingress resource is stuck on "Creating ingress". Any custom annotations appear to be lost, but I can access the URL defined by the ingress.
What could be causing this?
For anyone in the same situation in GKE, just go to the console and click on "Services and Ingress" and click on the Ingress to see a possible error.
Mine was a misspelled service name.
I had to delete the Ingress and re-apply the ingress manifest (kubectl apply -f my-ingress.yaml)
This turned out to be because I was sending the annotation
nginx.ingress.kubernetes.io/ssl-redirect: false
instead of
nginx.ingress.kubernetes.io/ssl-redirect: "false"
According to https://github.com/kubernetes/ingress-nginx/issues/1990, the Nginx controller only accepts strings containing "true" or "false". By sending boolean values, GCE was hanging.
Interestingly there were no errors indicating a problem, and I could access the ingress URL, which made debugging the problem quote painful.