As mentioned earlier, this is generally not a problem at all.
For example, in my hometown we operate a cluster across two data centers that are about 20 km apart.
The important requirement is (as already stated as well) to use stretched Layer-2 networks (stretched VLANs) so that the same VLAN IDs are available in both data centers.
In the sync VLAN, latency between both cluster nodes must remain below 100 ms to ensure reliable state/session synchronization.
Because a stretched VLAN is used, the internet routers also have an internal interface in the same VLAN.
We additionally run VSX with VSLS to distribute the virtual systems efficiently across both sites.
Everything else comes down to proper routing, both inside the LAN and towards the internet.
and now to something completely different - CCVS, CCAS, CCTE, CCCS, CCSM elite