Grpc load-balancing cross cluster communication

I’ve followed this guide (Istio / Install Multi-Primary on different networks) to enable cross-cluster communication in different networks testing a GRPC service, however, even though the GRPC client deployed in cluster A can reach the GRPC server in cluster B, the HTTP/2 request load-balancing doesn’t seem to happen out-of-box as we can observe intra-cluster using istio-sidecar. When the app started scaling up just a single pod kept receiving requests. Is this expected?

With default behavior, the load balancing should be happening across all the pods in multi-cluster. The important point to note is that Istio will merge pods in different clusters together if the namespace is same Istio / Deployment Models

For regular HTTP1.1 connection load-balancing, it works just fine. However, for GRPC I didn’t manage to get it working. Linkerd does the cross-cluster load-balancing trick in the gateway. I don’t know how it should work for Istio though.

For multi-network, it’s the similar approach with istio as well. multiple endpoints-pods from the second cluster will be known through the east-west gateway of a second cluster.