Table of contents : Table of Contents Introduction To Kubernetes Chaos Engineering Who Are We? Principles Of Chaos Engineering Are You Ready For Chaos? Examples Of Chaos Engineering The Principles And The Process Chaos Experiments Checklist How Is The Book Organized? Off We Go The Requirements Guiding The Choice Of A Tool Which Tool Should We Choose? Defining Course Requirements Installing Chaos Toolkit Destroying Application Instances Gist With Commands Creating A Cluster Deploying The Application Discovering Chaos Toolkit Kubernetes Plugin Terminating Application Instances Defining The Steady-State Hypothesis Pausing After Actions Probing Phases And Conditions Making The Application Fault-Tolerant Destroying What We Created Experimenting With Application Availability Gist With Commands Creating A Cluster Deploying The Application Validating The Application Validating Application Health Validating Application Availability Terminating Application Dependencies Destroying What We Created Obstructing And Destroying Network Gist With The Commands Creating A Cluster Installing Istio Service Mesh Deploying The Application Discovering Chaos Toolkit Istio Plugin Aborting Network Requests Rolling Back Abort Failures Making The Application Resilient To Partial Network Failures Increasing Network Latency Aborting All Requests Simulating Denial Of Service Attacks Running Denial Of Service Attacks Destroying What We Created Draining And Deleting Nodes Gist With The Commands Creating A Cluster Deploying The Application Draining Worker Nodes Uncordoning Worker Nodes Making Nodes Drainable Deleting Worker Nodes Destroying Cluster Zones Destroying What We Created Creating Chaos Experiment Reports Gist With The Commands Creating A Cluster Deploying The Application Exploring Experiments Journal Creating Experiment Report Creating A Multi-Experiment Report Destroying What We Created Running Chaos Experiments Inside A Kubernetes Cluster Gist With The Commands Creating A Cluster Deploying The Application Setting Up Chaos Toolkit In Kubernetes Types Of Experiment Executions Running One-Shot Experiments Running Scheduled Experiments Running Failed Scheduled Experiments Sending Experiment Notifications Sending Selective Notifications Destroying What We Created Executing Random Chaos Gist with the commands Creating A Cluster Deploying The Application Deploying Dashboard Applications Exploring Grafana Dashboards Exploring Kiali Dashboards Preparing For Termination Of Instances Terminating Random Application Instances Disrupting Network Traffic Preparing For Termination Of Nodes Terminating Random Nodes Monitoring And Alerting With Prometheus Destroying What We Created Until The Next Time Shameless Plug