How istio Multi-Cluster Mesh Automatic Service Discovery


I have a setup Istio Multi-cluster with Multi-Primary on different networks following the link: Istio / Install Multi-Primary on different networks

As per verification steps all seems fine. Also Step-by-step Diagnosis for multi-network looks fine Istio / Install Multi-Primary on different networks

But seems in the following scenario the automatic service discovery is not happening. Is it expected to happen automatically or I have to do something.

Scenario not working: ServiceA deployed in Cluster1 (namespace sample) and ServiceB deployed in Cluster2 (namespace sample). Now when I am trying to call ServiceB from serviceA (like http://ServiceB.sample:8080) it’s saying bad address. But when I create only the SVC of ServiceB on Cluster1 then it started working fine.

I have only found when the SVC is created in the cluster1 then only the service on cluster2 can be recognized in cluster1. I expected this service discovery to happen automatically.

That means automatic service discovery is not working for the multi primary setup. Otherwise the istiod in cluster A should be able to find the service B. Just make sure that the external-ip is properly populated in the east-west gateway.

External ip for East-west gateway is fine.

Its a coredns limitation, if you don’t want to create uniform services across clusters and for services to work automatically, you can use Istio DNS proxy.