
Configure Kubernetes for resilient microservices and build reliability pipelines with litmuschaos. Deploy Amazon EKS clusters with Terraform and Helm 3, using autoscaling and spot instances for zero-downtime workloads.
Explore the tech stack for reliable Kubernetes deployments, including Terraform active specification, EKS control plane, Helm charts, Argo Workflows, and LitmusChaos chaos testing.
Install Docker locally, configure AWS credentials for the Tools container on EKS, and tag resources with a tag-based Resource Group. Verify the Tools container works in the terraform-based lab.
Create and secure the AWS access key for the michael-admin user with AdministratorAccess, save the credentials, and tag Terraform-created resources with owner=kube-course via Resource Groups & Tag Editor.
Verify terraform works with aws by provisioning an ec2 instance and security group in Sydney with canonical ubuntu ami, init, apply, and destroy the infrastructure via docker test container.
Configure AWS credentials and prepare the Tools container with Docker, create the kube-course tag-based resource group for emergencies, then deploy the Kubernetes cluster and take the Amazon EKS fundamentals quiz.
Learn how to deploy a Kubernetes cluster using Terraform, including defining the VPC, provisioning an EKS cluster with the terraform-aws-eks module, and preparing for Helm provider-driven deployments.
Provision an EKS cluster with Terraform, initialize and apply the plan, and authenticate via kubeconfig to manage worker nodes and deploy reliability tools like Jenkins, Litmus, and Argo.
Deploy an EKS cluster with system level configurations and prepare to configure the Kubernetes cluster with tools. Deploy a basic microservice and observe how reliability pipelines ensure resilience of microservices.
Explore configuring kubernetes for reliability using LitmusChaos, Argo Workflows, and Jenkins to deploy the basic microservice on an EKS cluster, with a hands-on lab exploring source code.
Explore a basic spring boot microservice, packaged in an Alpine Linux based Amazon Corretto docker container, using helm library charts to illustrate reliability testing.
Discover how LitmusChaos orchestrates chaos experiments on Kubernetes with Argo Workflows and Jenkins. Integrate chaos engineering into CI/CD to improve reliability in microservices.
Explore a Kubernetes reliability lab by inspecting the kube terraform setup, including EKS, VPC, ALB controller, IRSA and OIDC, and deploy a basic microservice with Jenkins, Litmus, and Argo.
Explore how to set up reliability testing with LitmusChaos, Argo Workflows, and Jenkins automation server by deploying the basic microservice and running the first reliability pipeline in a practical lab.
Design and execute reliability pipelines in CI/CD with LitmusChaos experiments inside Argo workflows to disrupt pods, measure SLIs, and verify recovery and service reachability.
Explore reliability pipelines defined in the repository by running the pod-delete Litmus experiment through a Jenkins pipeline, using Argo to monitor the ChaosEngine and determine the reliability verdict.
Celebrate your first reliability pipeline and explore the pod-delete LitmusChaos experiment while reinforcing pipeline mechanics. Start chaos engineering with a practical, theory-informed discussion.
Learn chaos engineering with four iterative steps: define healthy system, plan what-if scenarios, execute disruptions, and measure outcomes using service level indicators like failed_requests over 30 seconds with LitmusChaos.
Increase microservice resilience by deploying two replicas, then verify with LitmusChaos pod-delete tests and a successful httpProbe.
Explore advanced reliability improvements in Kubernetes with LitmusChaos, focusing on worker node and EC2 termination scenarios. Learn practical strategies to keep microservices reliable when cluster nodes terminate.
Simulate ec2 terminations in an EKS cluster with LitmusChaos, validate recovery via end-of-test httpProbe and ChaosResult, and examine resilience with one or two worker nodes and descheduler Helm chart.
Test Kubernetes reliability by terminating the single EC2 instance with litmus-terminate-ec2, allowing the auto-scaling group to replace it, and validating recovery with the end-of-test http probe.
Demonstrates recovery after termination by deploying two EC2-backed replicas with topology spread across availability zones and worker nodes, using continuous httpProbe as the auto-scaling group replaces the terminated instance.
Apply the LitmusChaos ec2-terminate-by-tag experiment to test microservice resilience in an EKS cluster, reveal inefficiencies of two replicas on one EC2, and use a Descheduler Helm chart to spread pods.
Experiment with the descheduler helm chart to identify and optionally evict inefficient pods in a Kubernetes cluster, using dry-run analysis and alerts, plus labs on RemoveDuplicates.
Enable a new config sub-project with a horizontal pod autoscaler for the basic microservice, using metrics server for CPU, and implement descheduler with dry-run mode via Terraform.
Analyze descheduler logs to identify if two replicas share a worker node, then validate placement by evicting a pod and forcing the scheduler to spread replicas across nodes and AZs.
Learn how to deploy and use the descheduler alongside the metrics server to improve reliability in Kubernetes, and apply these tools in the upcoming exercises.
Learn how the Metrics Server collects metrics and feeds CPU usage to the Horizontal Pod Autoscaler to auto-scale a deployment, while validating reliability with LitmusChaos probes and cpu-hog tests.
Configure a horizontal pod autoscaler with a 15% CPU target, monitor up to 20 replicas, then run a Litmus pod-cpu-hog chaos experiment and expose restarts and a failed Jenkins pipeline.
Tune health checks and CPU for the microservice by adjusting readiness and liveness probes to a 2, scaling replicas, and disabling the descheduler; CPU constraints lead to pending pods.
Explore horizontal pod autoscaler and the pod-cpu-hog LitmusChaos experiment that stress cpu on microservice pods, using cmdProbe and k8sProbe to observe capacity limits and pending pods.
Explore how the cluster autoscaler automatically scales a Kubernetes cluster by provisioning or decommissioning worker nodes on AWS EKS, enabling reliability tests with LitmusChaos.
Add cluster autoscaler to the cluster by updating the system-ec2 auto-scaling group for management, provisioning the cluster-autoscaler chart with terraform, and enabling auto-discovery via iam policies.
Disable the HorizontalPodAutoscaler to let the Litmus pod-autoscaler experiment set replica count to 6, run the reliability pipeline, scale nodes, and achieve RELIABILITY_OK.
Master the cluster autoscaler helm chart and explore production-grade Kubernetes practices using LitmusChaos pod autoscaler experiments. Enable internet exposure, run Vegeta load benchmarks, and test zero-downtime deployments within reliability pipelines.
This course is for DevOps engineers and SRE-s who want to configure Kubernetes for RELIABILITY. In particular, for highly Resilient Microservices and for Reliability Pipelines in their CI/CD.
The primary technologies used in the course are LitmusChaos, Argo Workflows, Terraform, Helm and Jenkins automation server.
This course consists of guided labs on Amazon EKS with explanations and corresponding quizzes:
An introductory case study demonstrating a simple resilience improvement: add more microservice replicas, verify with LitmusChaos
Numerous advanced case studies, for example about achieving zero-downtime of microservices on cost-efficient EC2 Spot Instances
Resources included
All the Reliability Pipelines and Experiments (LitmusChaos, Argo Workflows)
Full Terraform and Helm definitions of the Amazon EKS cluster with system Charts and Microservices
Universal "DevOps Tools" Docker container with Terraform, Helm, kubectl, AWS CLI, etc.
At the end of our course, students will be able to:
Build Reliability Pipelines with CNCF LitmusChaos and Argo Workflows to continuously ensure reliability of their systems
Configure Kubernetes for Resilient Microservices with Cluster Autoscaler, Node Termination Handler, Descheduler and Overprovisioning
Deploy Amazon EKS clusters with Microservices in AWS Cloud using Terraform and Helm 3
Leverage AWS Spot instances which are times cheaper than regular EC2 ones, while achieving zero-downtime
Course prerequisites
Students are expected to have some basic knowledge in Kubernetes, Terraform, Helm, Docker, and AWS before starting this course. They are welcome to complete corresponding introductory tutorials online on their own, if some of the listed technologies are completely new for them.