I have a requirement where I need to implement session affinity. We have currently configured istio with service mesh on our kube clusters. There is a sidecar running with each pod in the service mesh. We have found a way to redirect external traffic to a specific pod based on client IP using config changes in ingress. However, since the internal call (pod to pod/service) are resolved by kube DNS, they do not pass through ingress and I'm unable to redirect the internal to a specific pod within a service.
An example: Service A contains Pod A and Pod B. During external calls, I'm able to redirect all calls to pod A with session affinity. What if I want to make an internal call? Let's say a new request comes to Pod B, I make an internal call to Service A which should redirect the call to Pod A. Is there a way to achieve this using istio service mesh?