"Chaos engineering is the discipline of experimenting on a software system in production in order to build confidence in the system's capability to withstand turbulent and unexpected conditions."
I think when most of us hear 'Chaos' we automatically get a little anxious. The idea of presenting failure into anything let alone a system can sound scary, however, by running these controlled experiments we can gain insight and reduce disasters. This is important because inevitably a system WILL fail.
So let's break some stuff and see how it all works!
Below is a repo with step by step instructions to setup Kubernetes clusters and use a few different platforms to run experiments on them.
A lot of tutorials I have found around running chaos experiments with K8s skip the cluster setup bit - making this repo a good complete getting started guide if you're new to K8s and Chaos Engineering. ๐ ๐
ari-hacks / kubernetes-chaos-sandbox
๐งช Tutorials for running chaos experiments with litmus chaos, chaos mesh, and gremlin (includes k8s setup)
Kubernetes Chaos Sandbox
A sandbox repo of chaos experiment tutorials with Gremlin, Litmus Chaos, and Chaos Mesh
Local Setup
-
OS: MacOs Catalina
-
Kubernetes: Docker Desktop
-
Resource settings
- CPUs:6 - Memory: 6GB - Swap: 3GB - Disk Size: 59.6GB
Quick Links to Tutorials โ๏ธ
Quick Link to Kubernetes setup
- Rancher - Single node cluster
- Openshift(OKD) - Single node cluster
- Kind single node cluster for dev
- Kubesrpay - customizable HA cluster
Additional tutorials
There are several organizations making waves in the chaos experimenting world today. I choose to learn a bit more about Gremlin, Litmus, and Chaos Mesh.
Each provides various interesting experiments and testing experiences. Gremlin is chaos engineering as a service. This is perfect if you like a good GUI and want to get up and running quickly. Litmus Chaos is a good choice if you enjoy the command line (which I do ๐ ). I had the opportunity to contribute to their project and the team is great! Chaos Mesh is similar to Litmus Chaos and they have some awesome documentation I was able to contribute to this Hacktoberfest as well. Chaos Mesh offers the option of using an interactive GUI or the command line (or both!) making it very developer friendly.
While the purpose of Chaos experimenting is introducing failure the main goal in testing is really to fix and overcome any weaknesses found in a system. By using these tools we are making software and infrastructure more reliable and sustainable.
๐จ Before you go.....
I am giving away a $12 voucher to the dev shop! Leave a comment below if interested and I'll pick someone at random this weekend to send it to! ๐ โ๐พ
Top comments (6)
I like the "chaos engineering as a service" concept. At the first sight, who will pay for getting chaos?
I've a colleague at the department who's byname is Gremlin, I've to share this of course, never heard about ๐
Thanks for this post ๐
Glad you enjoyed it! That is quite a unique name haha! ๐
Nice one ๐ฅณ great work getting is all in one easy bookmarkable place ๐
Thanks! I'm hoping it can reduce the barrier to entry and get folks more excited about the space. I also enjoy your posts, thanks for the content! ๐
Kudos ๐ฅณ๐ฅณ to you for making Chaos Mesh's documentation less chaotic. ๐ ๐ ๐๐
Cool article, never really got much into kubernetes. I will have a look at it though ๐ seems interesting