Okay, I did some changes. I disabled Linkerd injection by adding the annotation and reinstalled dgraph:
annotations:
linkerd.io/inject: disabled
and it seems to produce consistent results now. Still not sure why though.
Linkerd’s load balancing logic and K8 load balancing logic are different: gRPC Load Balancing on Kubernetes without Tears | Kubernetes
Would that be the reason? Not sure.
Update: I tried the same in a different cluster with Linkerd and I am able to reproduce there as well. So, taking Linkerd out of the equation makes it work.