In cloud environments this problem is usually solved by a managed load balancer. In a self-hosted Proxmox setup we need an equivalent component that sits on the boundary between the public network and the private cluster network. Here, HAProxy plays that role.
https://ruzhnikov.substack.com/p/exposing-kubernetes-dual-haproxy