<p>Following this tutorial:</p>
<pre><code>https://medium.com/kubernetes-tutorials/deploying-traefik-as-ingress-controller-for-your-kubernetes-cluster-b03a0672ae0c
</code></pre>
<p>I am able to access the site by visiting <code>www.domain.com:nodePort</code></p>
<p>Is it possible to omit nodePort part? Could you provide example?</p>

Vladimir Djukic
<blockquote>
<p>Is it possible to omit nodePort part?</p>
</blockquote>
<p>Yes and No.</p>
<ul>
<li>Not directly. Kubernetes always exposes external services even LoadBalancer type of services on a node port.</li>
<li>Yes. If you front it with a load balancer. Either your own that forwards port <code>80</code> and/or <code>443</code> to your NodePort or a <a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer" rel="nofollow noreferrer">LoadBalancer</a> type of service which essentially sets up an external load balancer that forwards traffic to your NodePort.</li>
</ul>
<blockquote>
<p>Could you provide an example?</p>
</blockquote>
<p>The NodePort service to expose your ingress is basically the same, you just need to setup your own external load balancer. (i.e AWS ELB/ALB/NLB, GCP load balancer, Azure load balancer, F5, etc, etc)</p>
<pre class="lang-yaml prettyprint-override"><code>kind: Service
apiVersion: v1
metadata:
  name: traefik-ingress-service
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
    - protocol: TCP
      port: 80
      name: web
    - protocol: TCP
      port: 8080
      name: admin
  type: NodePort
</code></pre>
<p>The <a href="https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/" rel="nofollow noreferrer">LoadBalancer</a> type is just a change on the type of service:</p>
<pre class="lang-yaml prettyprint-override"><code>kind: Service
apiVersion: v1
metadata:
  name: traefik-ingress-service
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
    - protocol: TCP
      port: 80
      name: web
    - protocol: TCP
      port: 8080
      name: admin
  type: LoadBalancer 
</code></pre>
<p>In the case above, Kubernetes will automatically manage the <a href="https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/" rel="nofollow noreferrer">load balancer in the provider</a>.</p>
