Ingress rule cannot resolve the backend server ip address

March 9, 2019 1.7k views
Kubernetes CentOS

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 ?

1 Answer

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?

Have another answer? Share your knowledge.