title: Kubernetes ingress setting up multiple hosts
body: <p>I've set up two simple kubernetes services &amp; deployments - frontend &amp; api. The frontend gets data from the api so I'm exposing the api as well so I can hard code the backend ingress URL in the frontend data fetch call (if anyone knows a better way of doing this internally within cluster please let me know).</p>
  
  <p>I'm trying to set up different host names for different services but for some reason only one of the hostnames is working.</p>
  
  <pre><code>apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: test-webapp-ingress
    annotations:
      ingress.kubernetes.io/rewrite-target: /
  spec:
    rules:
    - host: test-webapp-frontend.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-webapp-frontend-lb
              servicePort: 8002
    - host: test-webapp-api.com
      http:
        paths:
          - path: /get
            backend:
              serviceName: test-webapp-api-lb
              servicePort: 8001
  </code></pre>
  
  <p>And this is what I get after I run <code>kubectl get svc</code></p>
  
  <pre><code>NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
  kubernetes                ClusterIP      10.96.0.1        &lt;none&gt;        443/TCP          2d
  test-webapp-api-lb        LoadBalancer   10.107.60.163    &lt;pending&gt;     8001:30886/TCP   1h
  test-webapp-frontend-lb   LoadBalancer   10.104.100.108   &lt;pending&gt;     8002:31431/TCP   1h
  </code></pre>
  
  <p>I am using minikube on my local to run this cluster. I can access both the frontend and api by running <code>minikube service test-webapp-frontend-lb</code> and <code>minikube service test-webapp-api-lb</code>.</p>
  
  <p>When I go to <code>test-webapp-frontend.com</code>, I can see the frontend page but I can't access <code>test-webapp-api.com</code>. Not even the default not-found error, I just can't access it as if the URL just didn't exist.</p>
  
  <p>The weird thing is, if I do this,</p>
  
  <pre><code>spec:
    rules:
    - host: test-webapp-frontend.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-webapp-frontend-lb
              servicePort: 8002
    - host: test-another-frontend.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-webapp-frontend-lb
              servicePort: 8002
  </code></pre>
  
  <p>I can still access <code>test-webapp-frontend.com</code> but <code>test-another-frontend.com</code> has the same problem, can't access it at all.</p>
  
  <p>What am I doing wrong??</p>