<p>In <a href="https://kubernetes.github.io/ingress-nginx/deploy/baremetal/" rel="nofollow noreferrer">https://kubernetes.github.io/ingress-nginx/deploy/baremetal/</a>
In metalLB mode, one node attracts all the traffic for the ingress-nginx
By node port we can gather all traffic and loadbalance it podes by service</p>

<p>what is diffrence between node port and metalLB?</p>

<p>It's detailed fairly well here in the Kubernetes Service here:</p>

<p><a href="https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types</a></p>

<p>To summarise: </p>

<p>NodePort exposes the service on a port, which can then be accessed externally. </p>

<p>LoadBalancer uses a Cloud Providers option for exposing a port. E.G. Azure Load Balancers are used and can potentially expose multiple public IP addresses and load balances them against a larger pool of backend resources (Kubernetes nodes)</p>
