k8s LoadBalancers are designed to be used in the cloud: AWS GCP etc...
As a workaround you can create a service and then tunnel/proxy the service ClusterIP from the master
Kubernetes absolutely supports baremetal. It's one of it's greatest strengths, no lock-in.