Currently, we have k8s cluster in our data center due to compliance reasons. We are running the traefik as an ingress controller. Now we want to have the service mesh added to it for monitoring the service level communication. Can you suggest me how can I do it? Do I replace the traefik ingress controller and have the istio ingress on the host network setup or any other better options without removing the traefik and have istio to it too?
Asked
Active
Viewed 329 times
1 Answers
1
If you are going to install Istio to get "free" observability features, you need to keep in mind that in some scenarios it directly doesn't fit. e.g. you want to get the latency within a service. not possible with Istio.
I would recommend you to get Istio, if you need service mesh and/or routing, besides observability, but don't install it just for observability. There are other tools out there specific for that.
Without counting the fact that you are going to use cluster resources, to get an extra container for each service, just for monitoring. Not a good approach, in my opinion.

suren
- 7,817
- 1
- 30
- 51
-
So i would not be able to get the latency among the traffic in the microservices with just the east-west traffic management with istio? What i want to monitor is which microservice or service in my case is taking extra time to respond which effects the performance of application as a whole. So any other tools or mesh to have it sort out? Also thank you for help. – Susanta Gautam May 20 '20 at 05:48
-
well, you can get the service-to-service latency, but you can't get the latency within the same service. If you would have more then one process in the service, you would get the latency for both, not fot each of them. That's because Istio uses headers to calculate the latency. There are some headers that you will always need to pass from one service to another. Not very accurate. If you only need latency, I would go for standalone Jaeger or Zipkin. These are open-source, very good tools. I like Zipkin, but it doesn't support Python libraries, so I use Jaeger. Istio also uses these two. – suren May 20 '20 at 06:38
-
So, basically we might have traefik as an ingress controller that routes the request to our apiGateway. So i ask dev team to work with the headers for the communication among the services behind the apiGateway, will istio will give me cool features that i am expecting like service latency, service performance monitoring etc. ?? – Susanta Gautam May 20 '20 at 07:52