Member-only story
How to Use Istio to Inject Faults to Troubleshoot Microservices in Kubernetes
Improve your microservices running on Kubernetes

Imagine you’ve deployed the reviews-v2
microservice into production, and you have an issue. Users are complaining they can’t see the reviews in your application intermittently.
You’ve run a thorough investigation in your development environment, but you’re not able to find what the problem is.
The only way to investigate the problem is by looking at the traffic flowing through your production services. Someone from your operations team notice timeouts in the chain, and you need to investigate further.
This story is a follow-up to “Locality-Based Load Balancing in Kubernetes Using Istio.” Today, let’s discuss fault injection and troubleshooting.
What’s Fault Injection?
Fault injection, in the context of Istio, is a mechanism by which we can purposefully inject some issues within our mesh to mimic how our application would behave in case it encounter such problems.
That can be a great tool to test your app for operational readiness and resilience.
There are two forms of faults you can inject within your application.