I read a bout metalLB in http://blog.cowger.us/2018/07/25/using-kubernetes-externaldns-with-a-home-bare-metal-k8s.html the writers said
Bare metal cluster operators are left with two lesser tools to bring user traffic into their clusters, “NodePort” and “externalIPs” services. Both of these options have significant downsides for production use, which makes bare metal clusters second class citizens in the Kubernetes ecosystem.
I want to know what is this significant downsides.
A Service with type: NodePort
would open the same port on all of the nodes enabling clients to direct their traffic to any of the nodes and kube-proxy can balance the traffic between Pods from that point on. You face 3 problems here:
As for Service with type: ClusterIP
(default) and externalIPs: [...]
(must specify IP address(es) of node(s) there your problems will be: