Module Title: dgt_k8s07 – Chaos Engineering on Kubernetes
Module Description:
The module “dgt_k8s07 – Chaos Engineering on Kubernetes” covers the application of chaos engineering principles within Kubernetes environments. It explains how chaos engineering can be used in Kubernetes clusters to improve application resilience and reliability.
Key Module Objectives:
-
Understanding Chaos Engineering: Learn the principles of chaos engineering and why they matter for modern, distributed systems like Kubernetes.
-
Identifying Faults and Resilience Testing: Learn how to identify potential points of failure in your Kubernetes clusters, and how to have the machine run resilience tests that show whether applications can withstand unexpected disruptions.
-
Practical Chaos Engineering Tools: Get to know chaos engineering tools designed specifically for Kubernetes, and learn to direct them in natural language on real-world scenarios.
-
Case Study – KubeInvaders: Discover how products like KubeInvaders, developed by the team at Garanti Talent Management, integrate chaos engineering into Kubernetes environments to simulate attacks and assess system responses effectively.
-
Implementing Chaos Experiments: Design your own chaos experiments (hypothesis, steady state, blast radius, abort conditions) and describe them to the machine, which runs them in a Kubernetes cluster under your supervision.
-
Analyzing Outcomes: Analyze the results of chaos experiments to identify weaknesses in applications and infrastructure, followed by strategies for improvement and resilience enhancement.
Target Audience:
This module is intended for DevOps engineers, system administrators, application developers, and anyone responsible for managing Kubernetes clusters who wishes to improve the reliability and resilience of their systems. A basic understanding of Kubernetes concepts will be beneficial but not mandatory, as the module provides foundational knowledge where needed.
Module Format:
The module combines theoretical instruction with practical exercises carried out entirely in natural language. Attendees have access to pre-recorded lectures, live sessions, natural-language labs and case studies from chaos engineering practitioners. Sessions with professionals in the field are also available for collaborative learning.
In the labs, chaos is something you specify, not something you type. You tell the machine, for example, “kill one replica of the checkout service every two minutes in the staging namespace only, and stop if the error rate goes above 2%”; it prepares the experiment, and before anything runs you check the target selector, the scope and the abort condition, because a wrong label could take down far more than you intended. Afterwards you read the metrics and events with the machine and decide what the experiment proved.
What the module covers
- Designing chaos engineering experiments for Kubernetes and supervising their execution.
- How chaos engineering can prevent failures and improve system reliability.
- Real-world examples such as KubeInvaders and the practices they illustrate.
- The knowledge needed to manage complex distributed systems.
The module “dgt_k8s07 – Chaos Engineering” uses controlled fault injection to assess and improve the resilience of applications running on Kubernetes.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
