Kubernetes Best Practices, 2nd Edition
by Brendan Burns, Eddie Villalba, Dave Strebel, Lachlan Evenson
Chapter 20. Chaos Testing, Load Testing, and Experiments
This chapter covers three different methods of testing applications in your Kubernetes cluster: chaos testing, load testing, and experiments. All these tools can be used to help you build more useful, more resilient, and more performant applications. They can also provide insight into your application and help you better understand your users and anticipate the impact of changes before you roll them out broadly. This insight enables you to make better decisions and identify areas for future improvements. The following sections will describe the details of each type of test, their goals, and the prerequisites necessary before starting each test.
Chaos Testing
Chaos testing, as its name indicates, is testing your application’s ability to respond to chaos in the world, But what exactly does chaos mean? Broadly speaking, for an application chaos means introducing unusual, but not wholly unexpected, edge conditions to your application and seeing how it responds. This enables you to understand if your application is resilient to these edge conditions that may not have previously occurred during development of the application but may occur at some point during the operation of your application. Often our application development occurs during idealized conditions. Unfortunately, when exposed to the real world for long enough, these idealized conditions are challenged by errors and failures that were not present during initial development. ...