<p>I'm implementing <a href="https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example" rel="nofollow noreferrer">this example</a> with <code>az aks</code>. I want to use ingress in order to use easily the reverse proxy as in the example with a container redirected to <code>/tea</code> and the other to <code>/coffee</code> based on the ingress simple rules.</p>

<pre><code>  rules:
  - host: cafe.example.com
    http:
      paths:
      - path: /tea
        backend:
          serviceName: tea-svc
          servicePort: 80
      - path: /coffee
        backend:
          serviceName: coffee-svc
          servicePort: 80
</code></pre>

<p>I follow the steps, however, azure wont give an ip address to my ingress as you can see.</p>

<pre><code>$ kubectl get ingress
NAME           HOSTS                  ADDRESS   PORTS     AGE
demo-ingress   demo.mydomain.com             80, 443   17h
</code></pre>

<p>I think azure only give addresses to the loadbalancers. Is there any workaround or solution for this? Can I somehow say <code>azure</code> to give an IP to my ingress?</p>

<p>As some additional info, I also tried `helm:</p>

<pre><code>helm install stable/nginx-ingress --set controller.publishService.enabled=true
</code></pre>

<p>However I'm a complete novice and it seems to do nothing.</p>

<p>It took me a while to publish the answer. I wanted to understand a bit more what was happening in the container.</p>

<p>Anyway, the problem with the <a href="https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example" rel="nofollow noreferrer">implementation</a> I was testing, it is that a azure compatible ingress controller has to be installed (that's kind of my best guess, I'm not an expert though). The steps to install the ingress controller are <a href="https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/installation.md" rel="nofollow noreferrer">here</a>.</p>

<p>All the documents concerned are in the folder <a href="https://github.com/nginxinc/kubernetes-ingress/tree/master/install" rel="nofollow noreferrer">/install</a>. What I did in the end was a <code>makefile</code> containing the following instructions:</p>

<pre><code>kubectl apply -f install/common/ns-and-sa.yaml
kubectl apply -f install/common/default-server-secret.yaml
kubectl apply -f install/common/nginx-config.yaml
kubectl apply -f install/rbac/rbac.yaml
kubectl apply -f install/deployment/nginx-ingress.yaml
kubectl apply -f install/daemon-set/nginx-ingress.yaml
kubectl create -f install/service/nodeport.yaml
kubectl apply -f install/service/loadbalancer.yaml
kubectl get svc nginx-ingress --namespace=nginx-ingress
</code></pre>

<p>It's a bit cumbersome, but as long that it is only one command in my makefile, it's ok.</p>

<p>I hope this helps anyone who encounters the same problem.</p>
