<p>We have a virtual machine with Ubuntu Server 18.04.1.0.
We have used <a href="https://itnext.io/tutorial-part-1-kubernetes-up-and-running-on-lxc-lxd-b760c79cd53f" rel="nofollow noreferrer">this</a> tutorial to install lxd and we have used <a href="https://itnext.io/tutorial-part-2-kubernetes-up-and-running-on-lxc-lxd-6d60e98f22df" rel="nofollow noreferrer">this</a> tutorial to install kubernetes.</p>

<p>Now we want to install Rancher regarding <a href="https://rancher.com/blog/2018/2018-05-18-how-to-run-rancher-2-0-on-your-desktop/" rel="nofollow noreferrer">this</a> tutorial (it works fine on Docker for Desktop on Windows) on this ubuntu machine.</p>

<p>The problem is: we stuck on the <code>nginx-ingress</code> part. Nginx does not get any IP, state will be <code>pending</code> forever.
I already tried to <code>set rbac.create=true</code> (which is already set in the helm chart defaults); but I cannot figure out what's wrong here and why the <code>nginx-ingress</code> does not get any IP on the ubuntu kubernetes cluster.</p>

<p>What we have missed?
Thanks</p>

Benjamin Abt
<p>Take look at <a href="https://kubernetes.github.io/ingress-nginx/deploy/baremetal/" rel="nofollow noreferrer">Here</a>.<br>
I think you should change service type of nginx-ingress-controller service to <code>NodePort</code> to solve the pending problem. As default nginx-ingress-controller service type is <code>Loadbalancer</code> and you have to have an external load balancer to use this type of service. on Cloud Providers like AWS or GKE it is OK but on bare metal you have to use other types of services like <code>NodePort</code>.<br>
Also if you use <code>NodePort</code> and you need to serve on port 80/443 you will need a reverse proxy out of your cluster.</p>
