Pod to Pod communication using VirtualService


how to set up Kubernetes cluster pod to pod HTTP communication using VirtualService with the retry feature and locality balancing?

If I use VirtualService through Gateway: Pod -> Kubernetes service -> Istio Gateway -> Virtual service then for some reason locality balancing feature is not working.

Do you have outlier detection enabled?

I must admit, this aspect is lacking in the istio documentation. It took ages for me to realise that I can actually use virtual services internally, and even then, I’ve got similar questions about how to leverage the different benefits, what it means for application development, etc etc.

Could the documentation be updated to provide more examples?

Thank you

what kind of documentation in particular do you feel is lacking?

most of the Istio functionality is tested in integration tests so thats probably the best place to look.

It is important to mention that when sidecars are injected Kubernetes services are no longer used and there is no use from the topologyKeys in service declaration. There always should be DestinationRule created for Istio locality start to work.
Am I right?

its pretty clear in the documentation i posted

But it didn’t say that Kubernetes native service Locality feature isn’t working. For the beginner that would save some time.