k8s has good, non-cloud based ingress controllers.
https://github.com/kubernetes/ingress-nginx
https://doc.traefik.io/traefik/providers/kubernetes-ingress/
https://github.com/kubernetes/ingress-nginx
https://doc.traefik.io/traefik/providers/kubernetes-ingress/
Of course you have to route traffic to your cluster, but you are implying some cloud based load balancer lockin which just isn't true
Third option would be to expose pods directly in the network. EKS does this by default, but from my experience it's quite rare for people to leverage it.
See https://kubernetes.github.io/ingress-nginx/deploy/baremetal/