<p>According to <a href="https://docs.traefik.io/user-guide/kubernetes/" rel="nofollow noreferrer">Traefik's Kubernetes guide</a>, I should use a Service of type <strong>NodePort</strong> to expose Traefik (YAML file <a href="https://github.com/containous/traefik/blob/master/examples/k8s/traefik-deployment.yaml" rel="nofollow noreferrer">here</a>). However, if I do that, how do I expose one of the IPs from my cluster to the outside world?</p>

<p>At this moment, I have edited the example <a href="https://github.com/containous/traefik/blob/master/examples/k8s/traefik-deployment.yaml" rel="nofollow noreferrer">traefik-deployment.yaml</a> file to be a <strong>LoadBalancer</strong> instead, and it seems to work just fine with the IP that the load balancer provides. What am I missing?</p>

<p>Both are valid approaches. The Kubernetes guide basically makes one proposal to set things up (with somewhat of a focus on the local minikube configuration). If you have found a path that's more convenient for you, by all means feel free to stick to it.</p>

<p>FWIW, one concern I sometimes hear raised is that cloud-based LoadBalancers may become expensive much faster, whereas with a NodePort you have more control over how requests are routed into your cluster (at the price of reduced convenience).</p>
