<p>I installed <code>ingress-nginx</code> in a cluster. I tried exposing the service with the <code>kind: nodePort</code> option, but this only allows for a port range between <code>30000-32767</code> (AFAIK)... I need to expose the service at port <code>80</code> for http and <code>443</code> for tls, so that I can link <code>A Records</code> for the domains directly to the service. Does anyone know how this can be done?</p>

<p>I tried with <code>type: LoadBalancer</code> before, which worked fine, but this creates a new external Load Balancer at my cloud provider for each cluster. In my current situation I want to spawn multiple mini clusters. It would be too expensive to create a new (digitalocean) Load Balalancer for each of those, so I decided to run each cluster with it's own internal ingress-controller and expose that directly on <code>80/443</code>.</p>

<p>If you want on IP for 80 port from a service you could use the externalIP field in service config yaml. You could find how to write the yaml here
<a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips" rel="nofollow noreferrer">Kubernetes External IP</a></p>

<p>But if your usecase is really like getting the ingress controller up and running it does not need the service to be exposed externally.</p>
