<p>Simplified project diagram:
<a href="https://i.stack.imgur.com/t0HuE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/t0HuE.png" alt="Simplified project diagram:"></a></p>

<p>My goal is to allow connection from eu-cluster-b pod micro-service-pod-a <strong>send and receive</strong> http calls to eu-cluster-a pod micro-service-pod-b.
I read about VPC connections (subnets), but I'm not sure exacly what to to in this situation and I would like not to f*** up whole network.</p>

<p>You could use istio for Multi Cloud Burst (<a href="https://codelabs.developers.google.com/codelabs/istio-multi-burst/#0" rel="nofollow noreferrer">https://codelabs.developers.google.com/codelabs/istio-multi-burst/#0</a>)</p>

<p>Also if they are on the same project, you would need to make sure that they have different IP ranges and that the range of one subnetwork is <a href="https://cloud.google.com/vpc/docs/routes" rel="nofollow noreferrer">routable</a> to the other subnetwork, then use something like <a href="https://github.com/kubernetes-sigs/external-dns" rel="nofollow noreferrer">https://github.com/kubernetes-sigs/external-dns</a> , </p>

<p>This will allow you to bring up Internal Load Balancers that will create services of <code>type: Load Balancer</code> but not the public facing one you are probably familar with, but an internal one (subject to quotas of type backend-services), I'll use mongodb service as an example, it would look something like this.</p>

<pre><code>kind: Service
metadata:
  name: "mongodb"
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
    external-dns.alpha.kubernetes.io/hostname: "db.mongodb.myinternaldns.test"
    external-dns.alpha.kubernetes.io/ttl: "10"
  labels:
    app: mongodb
spec:
  ports:
    - name: tcp-mongodb
      port: 27017
      protocol: TCP
      targetPort: 27017
  clusterIP: None
  selector:
    app: mongodb


</code></pre>

<p>In the annotations you specify what's the DNS address that you want this service to have, and this is the dns address that will be reachable from both clusters, it will create an A and TXT records on Cloud-DNS with the IP of the Internal Load Balancer, if you make sure that you have the correct route settings traffic will flow between clusters. Hope this helps!</p>
