How does cluster-node communication work for gapped clusters?

Since k0smotron allows a bring your own worker approach, this also means that it’d be possible to run the control plane in some cloud provider and the nodes in another place, ie bare metal or another cloud. How does the communication work there and does it require nodes to be publicly available or is it possible to leverage tunneling solutions like Konnectivity?