We have a number of different REST-based services running in Azure within a Kubernetes (version 1.9.6) cluster.
Two of the services, let's say A and B needs to communicate with each other using REST-calls. Typically, something like the following:
Client calls A (original request)
A calls B (request 1)
B calls A (request 2)
A responds to B (request 2)
B responds to A (request 1)
A responds to the original request
The above being a typical intertwined micro-services architecture. Manually running the docker instances works perfectly on our local test servers.
The moment we run this in Kubernetes on Azure we get intermittent timeouts (60+ seconds) on the micro-services calling each other through Kubernetes' networking services. After a timeout, repeating the request would then often give correct responses in a few micro-seconds.
I am stuck at this point as I have no idea what could be causing this. Could it be the dynamic routing? The virtualised network? Kubernetes configuration?
Any ideas?