<p>I'm fairly novice in GCP and would like to ask a question:</p>

<p>I have two private clusters in the same region with internal LB (all in one VPC), currently pods from both clusters are able to communicate with each other over HTTP.</p>

<p>As far as I understand from the documentation - internal LB is a regional product, therefore if the private clusters were located in different regions the above scenario wouldn't be possible.</p>

<p>What do I need to do in order to make pods of two private clusters which are located on different regions to be able to communicate with each other?</p>

<p>My guess is that I have to define external LB for both of those clusters and using firewall rules allow communication only cluster to cluster via external IP and block all communication from the outside world.</p>

<p>since these are different <a href="https://cloud.google.com/vpc/docs/vpc#ip-ranges" rel="nofollow noreferrer">IP ranges</a> (at least in auto mode), it may not help that it is global VPC - when this should be the case, you'd have to add a <a href="https://cloud.google.com/vpn/docs/how-to/creating-route-based-vpns" rel="nofollow noreferrer">VPN tunnel</a>, in order to route these network segments. also consider the possibility to add two tunnels; one for ingress and one for egress traffic.</p>

<p>an alternative to VPN tunnels might be <a href="https://cloud.google.com/vpc/docs/vpc-peering" rel="nofollow noreferrer">VPC Network Peering</a>, were the main difference is:</p>

<blockquote>
  <p>Peered VPC networks remain administratively separate. Routes, firewalls, VPNs, and other traffic management tools are administered and applied separately in each of the VPC networks.</p>
</blockquote>
