Question

Ingress rule cannot resolve the backend server ip address

Trying to follow How to Set Up an Nginx Ingress with Cert-Manager on DigitalOcean Kubernetes tutorial for setting up the ingress rule for backendApi

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes

The backend service are created correctly .

kubectl get svc

NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
echo1        ClusterIP   10.245.254.205   <none>        80/TCP     3h
echo2        ClusterIP   10.245.187.179   <none>        80/TCP     3h

Ingress resource are created correctly

kubectl get ingress echo-ingress

NAME           HOSTS                                 ADDRESS         PORTS     AGE
echo-ingress   echo1.example.com,echo2.example.com   157.230.67.78   80        3h

And I see external load balancer is created.

But it seems ingress cannot find the backend server ip , it shows <none>

kubectl describe ingress echo-ingress

Name:             echo-ingress
Namespace:        default
Address:          157.230.67.78
Default backend:  default-http-backend:80 (<none>)
Rules:
  Host               Path  Backends
  ----               ----  --------
  echo1.example.com  
                        echo1:80 (<none>)
  echo2.example.com  
                        echo2:80 (<none>)
Annotations:
Events:  <none>

I don’t think it would forward traffic , should it be sth like


  Host               Path  Backends
  ----               ----  --------
  echo1.example.com  
                        echo1:80 (10.245.254.205:80)

like in the official tutorial ?


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

In the document you mentioned, please note the tips below: “To test the Ingress, navigate to your DNS management service and create A records for echo1.example.com and echo2.example.com pointing to the DigitalOcean Load Balancer’s external IP.”

Tried to hit the endpoint, in nginx-ingress-controller, there is no error log , but looks like it cannot resolve the ip address for the service

10.136.115.193 - [10.136.115.193] - - [09/Mar/2019:03:05:12 +0000] "GET / HTTP/1.1" 308 171 "-" "curl/7.54.0" 77 0.000 [default-echo1-80] - - - - f2ff21a68632e44392f53e9349d6f5b7
10.136.115.193 - [10.136.115.193] - - [09/Mar/2019:03:06:16 +0000] "GET /echo1 HTTP/1.1" 308 171 "-" "curl/7.54.0" 82 0.000 [default-echo1-80] - - - - 527ba0facee1c069a8ec305b3f508583

Does anyone have experience on this?