mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
d5f6167e56
* fix flaky generate e2e tests Signed-off-by: ShutingZhao <shuting@nirmata.com> * enable validate, verifyimage e2e tests Signed-off-by: ShutingZhao <shuting@nirmata.com> * set policy names different within a single test Signed-off-by: ShutingZhao <shuting@nirmata.com> * do not delete cloned resource when sync generate policy is deleted Signed-off-by: ShutingZhao <shuting@nirmata.com> * replace grLister by urLister Signed-off-by: ShutingZhao <shuting@nirmata.com> * re-queue pending URs only to fix clone policy deletion Signed-off-by: ShutingZhao <shuting@nirmata.com> * remove duplicate import Signed-off-by: ShutingZhao <shuting@nirmata.com> Co-authored-by: Sambhav Kothari <sambhavs.email@gmail.com> Co-authored-by: Charles-Edouard Brétéché <charled.breteche@gmail.com> |
||
---|---|---|
.. | ||
pod_cpu_hog | ||
README.md |
Integration of Kyverno with Litmus
Kyverno is a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations using admission controls and background scans. Litmus provides a large number of experiments for testing containers, pods, nodes, as well as specific platforms and tools. The advantage of chaos engineering is that one can quickly figure out issues that other testing layers cannot easily capture. This can save a lot of time in the future, and will help to find the loopholes in the system and fix them.
Steps to Execute LitmusChaos Experiment
Prerequisites
- Ensure that Kubernetes Version > 1.15
- Ensure that the Kyverno is running by executing
kubectl get pods
in operator namespace (typically,kyverno
). If not, install from here. - Update Kyverno Deployment to use
ghcr.io/kyverno/kyverno:test-litmuschaos
image. Note that this image is built specifically to run Litmuschaos experiments per this request, CHAOS_KILL_COMMAND. The official Kyverno images will adopt this soon. - Ensure that the Litmus Chaos Operator is running by executing
kubectl get pods
in operator namespace (typically,litmus
). If not, install from here.
Running experiment
Aftr setting up the docker images, for running a LitmusChaos experiment following steps need to be followed -
- Firstly, exicute
eval export E2E="ok"
- Run the Chaos Experiment Test Command -
go test ./litmuschaos/pod_cpu_hog -v
.
The test passes if the enforce policy shows it's expected behaviour.
Experiments
Experiment name | LitmusChaos experiment - Pod CPU Hog |
---|---|
Test command | go test ./litmuschaos/pod_cpu_hog -v |
Goal | Seeing how the overall application stack behaves when Kyverno pods experience CPU spikes either due to expected/undesired processes |
Performed tests | |
Expected result | Kyverno pod is responding after running Pod CPU Hog Experiment |