Load Balancer - Ingress

Cluster information:

Kubernetes version: latest
Cloud being used: VMs on ESXI 5.1
Installation method: kubeadm
Host OS: Ubuntu 20.04 LTS
CNI and version: Calico latest
CRI and version: Docker/Containerd?

I’m new to K8s but I have a bare metal build with 2 nodes and everything is working so far except LB and ingress. I’m using lens as an IDE and I can internally access my services without any issues. DNS is working on all nodes. I have tried MetalLB and PureLB and using a routeable range and services with type Load Balancer are getting issued an external IP. I have tried Local and Cluster types too. I’m using NGINX as well and I can’t hit ANYTHING externally via ingress or IP. Any ideas ?