Search code examples
google-cloud-platformgoogle-kubernetes-enginegoogle-vpc

GKE non VPC-native clusters internal networking?


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?


Solution

  • 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.