Signed-off-by: ksatchit <ksatchit@mayadata.io> |
||
|---|---|---|
| .. | ||
| README.md | ||
| chaosutil.j2 | ||
| pod_delete_ansible_logic.yml | ||
| pod_delete_ansible_prerequisites.yml | ||
| pod_delete_k8s_job.yml | ||
README.md
Experiment Metadata
| Type | Description | K8s Platform |
|---|---|---|
| Chaos | Fail the application pod | Any |
Entry-Criteria
- Application pods are healthy before chaos injection
Exit-Criteria
- Application pods are healthy post chaos injection
Details
- Causes (forced/graceful) pod failure of random replicas of an application deployment
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod
Integrations
- Pod failures can be effected using one of these chaos libraries:
litmus,powerfulseal - The desired chaoslib can be selected by setting one of the above options as value for the env variable
LIB
Associated Chaos Utils
- litmuslib
- powerfulseal
Litmusbook Environment Variables
Application
| Parameter | Description | Type |
|---|---|---|
| APP_NAMESPACE | Namespace in which application pods are deployed | Mandatory |
| APP_LABEL | Unique Labels in key=value format of application deployment |
Mandatory |
Chaos
| Parameter | Description | Type |
|---|---|---|
| TOTAL_CHAOS_DURATION | The time duration for chaos insertion (sec) | Mandatory |
| CHAOS_INTERVAL | Time interval b/w two successive pod-failures (sec) | Mandatory |
| LIB | The chaos lib used to inject the chaos | Mandatory |
| CHAOSENGINE | ChaosEngine CR name associated with the experiment instance | Optional |
| CHAOS_SERVICE_ACCOUNT | Service account used by the powerfulseal deployment | Optional |
Procedure
- Identify the values for the mandatory ENV variables
- Create the chaos job via
kubectl create -f pod_delete_k8s_job.yml - Check result of the experiment via
kubectl describe chaosresult pod-delete(prefix chaosengine name to experiment name if applicable) - View experiment logs via
kubectl logs -f <chaos-pod-name>