Right now I have multiple GKE clusters within one Google Region.
All the clusters are part of the same network and subnet. The important note is that some of those are VPC-native some are not.
Fancy features like MultiClusterService can be used only between VPC-native clusters.
But is there any other way our Kubernetes resources can talk to each other internally?
Actually, having clusters within the same region and same VPC network, they can communicate internally by using Internal Load Balancers.
(those ones having annotation cloud.google.com/load-balancer-type: Internal
)
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
example example-ui LoadBalancer 10.47.255.162 10.156.15.247 8080:30434/TCP 372d
EXTERNAL-IP
you can see by typing kubectl get svc
is actually an IP from Internal IP range of that VPC, which can be accessed by all clusters.