Better Programming

Advice for programmers.

Follow publication

Member-only story

How to Use Istio to Inject Faults to Troubleshoot Microservices in Kubernetes

Gaurav Agarwal
Better Programming
Published in
6 min readMay 4, 2020

--

Photo by Brooke Cagle on Unsplash

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.

--

--

Gaurav Agarwal
Gaurav Agarwal

Written by Gaurav Agarwal

Author of Modern DevOps Practices — https://packt.link/XUMM3 | Certified Kubernetes Administrator | Cloud Architect | Connect @ https://gauravdevops.com

Write a response