The Chaos Engineering cycle involved testing a Kubernetes-based web server application using Nginx to ensure its resilience under fault conditions. The system was initially set up with a Kubernetes Service and a Pod, where the Service routed HTTP traffic to the Pod running an Nginx container. The experiment aimed to test the hypothesis that the system's steady states would be maintained even when faults were injected.

The steady states defined were 'PodRunning', ensuring the Pod was in a running state 95% of the time, and 'ServiceTrafficRouting', ensuring HTTP request failures were less than or equal to 0.01%. The fault scenario simulated a cyber attack causing network disruption and resource exhaustion using Chaos Mesh, with faults like NetworkChaos, StressChaos, and PodChaos.

The experiment was structured into three phases: pre-validation, fault-injection, and post-validation, all within a 1-minute timeframe. Pre-validation confirmed the system's initial steady states. During fault-injection, network latency, CPU stress, and Pod failure were introduced sequentially. Post-validation checked the system's recovery to steady states.

The first experiment revealed vulnerabilities: the Pod's 'Never' restart policy led to failures in maintaining the 'PodRunning' state, and the single Pod setup caused 100% HTTP request failures, indicating a need for redundancy. The analysis recommended using a Deployment with multiple replicas and an 'Always' restart policy.

Improvements were made by deleting the Pod manifest and creating a Deployment manifest with three replicas and an 'Always' restart policy. The second experiment, with these changes, passed all unit tests, confirming the system's improved resilience and ability to maintain steady states under fault conditions.