<p>For improved performance and availability we'd like to distribute certain services from out stack across different Kubernetes clusters in different parts of the world (GCP regions).</p>

<p>The majority of our stack will continue to run in one cluster / region but some user facing services will be deployed all over the world.</p>

<p>Some of these services need to access other services in our main cluster.</p>

<p><strong>Q: How can we reliably access services in a different Kubernetes cluster?</strong></p>

<p>Using internal load balancers seems to be out of the question as those are <a href="https://cloud.google.com/kubernetes-engine/docs/internal-load-balancing#restrictions_for_internal_load_balancers" rel="nofollow noreferrer">per region</a> only.</p>

<p>We'd like to keep the communication between our services inside the private GCP network and avoid going over the public internet. So an public ingress also wouldn't work.</p>

<p>VPC networks are <a href="https://cloud.google.com/vpc/docs/vpc" rel="nofollow noreferrer">global</a> resources, not restricted by regional boundaries, and so with the correct <a href="https://cloud.google.com/vpc/docs/using-firewalls" rel="nofollow noreferrer">firewall rules</a> set up, you should be able to access any internal resource from any other resource "right out of the box", assuming they are in the same VPC network and same project.</p>
