In-cluster routing without port number is not working

I am using Istio as a service mesh in AKS and set sidecar injection for all the services within the mesh.
I have been asked to use only services names (without their port numbers) for in cluster communication between the services. I have two gRPC services: gRPC client service and gRPC Service (which has been defined to listen on port 5003). When i am using the following address from the client it is working great: “http://{service name}:5003” but when i am using the following address: “http://{namesapce}.{service name}” i keep getting error 500 and can get pass it. According to what i have read, it’s suppose to work wstrong textithout the port number but it doesn’t. Can any one help me solve this ?

The following are the gRPC Service yaml and it’s gateway, virtual service and destination rule i have set:



Thanks,
Nimrod

Hi Nimrod,

is the {namesapce}.{service name} resolved in your container? Can you try to use {servicename}.{namespace} instead?
I’m not familiar with gRPC, but in kubernetes the name of the service is of the form: {servicename}.{namespace}.svc.{clustername} and the containers have their dns resolver configured to use the {namespace}.svc.{clustername} as a search domain (thats how the {servicename} gets resolved.

Regards,
Laszlo