Tracing services with Istio

Written by garciaj.uk | Published 2018/07/25
Tech Story Tags: kubernetes | devops | security | development | tech

TLDRvia the TL;DR App

Super quick post , When istio injects the envoy container side car into your pod , each request that comes in and out is “appended” with a numbers of http headers that then they’re use for tracing .

This is one of the many benefits of the “side car injection” approach that istio has embrace , bit intrusive yea , but so far seems to work nicely.

Ok so quickly you can deploy jaeger and zipkin by enabling it on the chart:

istio/istio_istio - An open platform to connect, manage, and secure microservices._github.com

In case you don’t have it already enabled.

Then if you look a little bit on the charts you’ll find references such as:

that’s from Mixer , so without too much digging you can see how mixer is passing stats to zipkin , and remember mixer sees everything .

So if we port-forward to were jaeger is listening on:

kubectl port-forward -n istio-system istio-tracing-754cdfd695-ngssw 16686:16686

And we hit http://localhost:16686 , we’ll find jaeger:

It’s really interesting for tracing and to get a general idea of services that might be taking too long to process etc , I’ve force an error and it looks like:

If the pod nginx would be calling extra services they should be displayed there too , cause remember ALL ingress/egress traffic is captured by the envoy sidecar inside your pod.


Published by HackerNoon on 2018/07/25