2502 lines
56 KiB
YAML
2502 lines
56 KiB
YAML
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Deletes a pod belonging to a deployment/statefulset/daemonset
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-delete
|
|
labels:
|
|
name: pod-delete
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "deployments"
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-delete
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '15'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
- name: FORCE
|
|
value: 'true'
|
|
|
|
- name: CHAOS_INTERVAL
|
|
value: '5'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-delete
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Deletes a pod belonging to a deployment/statefulset/daemonset
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: k8-pod-delete
|
|
labels:
|
|
name: k8-pod-delete
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "apps"
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "deployments"
|
|
- "jobs"
|
|
- "pods"
|
|
- "configmaps"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs :
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/chaostoolkit:latest"
|
|
args:
|
|
- -c
|
|
- python /app/chaos/chaostest/kubernetes/k8_wrapper.py; exit 0
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: CHAOSTOOLKIT_IN_POD
|
|
value: 'true'
|
|
|
|
- name: FILE
|
|
value: 'pod-app-kill-count.json'
|
|
|
|
- name: NAME_SPACE
|
|
value: ''
|
|
|
|
- name: LABEL_NAME
|
|
value: ''
|
|
|
|
- name: APP_ENDPOINT
|
|
value: ''
|
|
|
|
- name: PERCENTAGE
|
|
value: '50'
|
|
|
|
- name: REPORT
|
|
value: 'true'
|
|
|
|
- name: REPORT_ENDPOINT
|
|
value: 'none'
|
|
|
|
- name: TEST_NAMESPACE
|
|
value: 'default'
|
|
|
|
|
|
labels:
|
|
name: k8-pod-delete
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Give a cpu spike on a node belonging to a deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-cpu-hog
|
|
labels:
|
|
name: node-cpu-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-cpu-hog
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING
|
|
## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY
|
|
- name: NODE_CPU_CORE
|
|
value: ''
|
|
|
|
# ENTER THE COMMA SEPARATED TARGET NODES NAME
|
|
- name: TARGET_NODES
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# PROVIDE THE LIB HERE
|
|
# ONLY LITMUS SUPPORTED
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## percentage of total nodes to target
|
|
- name: NODES_AFFECTED_PERC
|
|
value: ''
|
|
|
|
## it defines the sequence of chaos execution for multiple target nodes
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: node-cpu-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Fillup Ephemeral Storage of a Resource
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: disk-fill
|
|
labels:
|
|
name: disk-fill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "apps"
|
|
- "batch"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/exec"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name disk-fill
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
- name: FILL_PERCENTAGE
|
|
value: '80'
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# Provide the LIB here
|
|
# Only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide the data block size
|
|
# supported unit is KB
|
|
- name: DATA_BLOCK_SIZE
|
|
value: '256'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
- name: EPHEMERAL_STORAGE_MEBIBYTES
|
|
value: ''
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
# Provide the container runtime path
|
|
# Default set to docker container path
|
|
- name: CONTAINER_PATH
|
|
value: '/var/lib/docker/containers'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: disk-fill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Injects network packet duplication on pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-network-duplication
|
|
labels:
|
|
name: pod-network-duplication
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
- "patch"
|
|
- "create"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-network-duplication
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
- name: TC_IMAGE
|
|
value: 'gaiadocker/iproute2'
|
|
|
|
- name: NETWORK_INTERFACE
|
|
value: 'eth0'
|
|
|
|
- name: NETWORK_PACKET_DUPLICATION_PERCENTAGE
|
|
value: '100' # in percentage
|
|
|
|
# lib can be litmus or pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
# provide the name of container runtime
|
|
# for litmus LIB, it supports docker, containerd, crio
|
|
# for pumba LIB, it supports docker only
|
|
- name: CONTAINER_RUNTIME
|
|
value: 'docker'
|
|
|
|
# provide the destination ips
|
|
# chaos injection will be triggered for these destination ips
|
|
- name: DESTINATION_IPS
|
|
value: ''
|
|
|
|
# provide the destination hosts
|
|
# chaos injection will be triggered for these destination hosts
|
|
- name: DESTINATION_HOSTS
|
|
value: ''
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-network-duplication
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Injects cpu consumption on pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-cpu-hog
|
|
labels:
|
|
name: pod-cpu-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "events"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-cpu-hog
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
## Number of CPU cores to stress
|
|
- name: CPU_CORES
|
|
value: '1'
|
|
|
|
## Percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
## Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
## env var that describes the library used to execute the chaos
|
|
## default: litmus. Supported values: litmus, pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
## It is used in pumba lib only
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## It is used in pumba lib only
|
|
- name: STRESS_IMAGE
|
|
value: 'alexeiled/stress-ng:latest-ubuntu'
|
|
|
|
# provide the socket file path
|
|
# it is used in pumba lib
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-cpu-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Injects memory consumption on pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-memory-hog
|
|
labels:
|
|
name: pod-memory-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-memory-hog
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
## enter the amount of memory in megabytes to be consumed by the application pod
|
|
- name: MEMORY_CONSUMPTION
|
|
value: '500'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
## Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
## env var that describes the library used to execute the chaos
|
|
## default: litmus. Supported values: litmus, pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
## It is used in pumba lib only
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## It is used in pumba lib only
|
|
- name: STRESS_IMAGE
|
|
value: 'alexeiled/stress-ng:latest-ubuntu'
|
|
|
|
# provide the socket file path
|
|
# it is used in pumba lib
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
labels:
|
|
name: pod-memory-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Restart node
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-restart
|
|
labels:
|
|
name: node-restart
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
- "secrets"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-restart
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: SSH_USER
|
|
value: 'root'
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# PROVIDE THE LIB HERE
|
|
# ONLY LITMUS SUPPORTED
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: "litmuschaos/go-runner:latest"
|
|
|
|
# ENTER THE TARGET NODE NAME
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# ENTER THE TARGET NODE IP
|
|
- name: TARGET_NODE_IP
|
|
value: ''
|
|
|
|
labels:
|
|
name: node-restart
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
secrets:
|
|
- name: id-rsa
|
|
mountPath: /mnt/
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Inject network packet corruption into application pod
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-network-corruption
|
|
labels:
|
|
name: pod-network-corruption
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "delete"
|
|
- "list"
|
|
- "patch"
|
|
- "update"
|
|
- "get"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-network-corruption
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
- name: NETWORK_INTERFACE
|
|
value: 'eth0'
|
|
|
|
- name: TC_IMAGE
|
|
value: 'gaiadocker/iproute2'
|
|
|
|
- name: NETWORK_PACKET_CORRUPTION_PERCENTAGE
|
|
value: '100' #in PERCENTAGE
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60' # in seconds
|
|
|
|
# Time period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# lib can be litmus or pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
# provide the name of container runtime
|
|
# for litmus LIB, it supports docker, containerd, crio
|
|
# for pumba LIB, it supports docker only
|
|
- name: CONTAINER_RUNTIME
|
|
value: 'docker'
|
|
|
|
# provide the destination ips
|
|
# chaos injection will be triggered for these destination ips
|
|
- name: DESTINATION_IPS
|
|
value: ''
|
|
|
|
# provide the destination hosts
|
|
# chaos injection will be triggered for these destination hosts
|
|
- name: DESTINATION_HOSTS
|
|
value: ''
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-network-corruption
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Detaching a persistent disk from a node/instance. Supports only for AWS and GCP
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: disk-loss
|
|
labels:
|
|
name: disk-loss
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "events"
|
|
- "pods/log"
|
|
- "secrets"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
image: "litmuschaos/ansible-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ansible-playbook ./experiments/generic/disk_loss/disk_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: ANSIBLE_STDOUT_CALLBACK
|
|
value: 'default'
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '15'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
- name: APP_CHECK
|
|
value: 'true'
|
|
|
|
# GKE and AWS supported
|
|
- name: CLOUD_PLATFORM
|
|
value: 'GKE'
|
|
|
|
- name: PROJECT_ID
|
|
value: ''
|
|
|
|
- name: NODE_NAME
|
|
value: ''
|
|
|
|
- name: DISK_NAME
|
|
value: ''
|
|
|
|
# provide the LIB
|
|
# only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: ZONE_NAME
|
|
value: ''
|
|
|
|
- name: DEVICE_NAME
|
|
value: ''
|
|
|
|
labels:
|
|
name: disk-loss
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
secrets:
|
|
- name: cloud-secret
|
|
mountPath: /tmp/
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Give IO disk stress on a node belonging to a deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-io-stress
|
|
labels:
|
|
name: node-io-stress
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-io-stress
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '120'
|
|
|
|
## specify the size as percentage of free space on the file system
|
|
## default value 90 (in percentage)
|
|
- name: FILESYSTEM_UTILIZATION_PERCENTAGE
|
|
value: '10'
|
|
|
|
## we can specify the size in Gigabyte (Gb) also in place of percentage of free space
|
|
## NOTE: for selecting this option FILESYSTEM_UTILIZATION_PERCENTAGE should be empty
|
|
- name: FILESYSTEM_UTILIZATION_BYTES
|
|
value: ''
|
|
|
|
## Number of core of CPU
|
|
- name: CPU
|
|
value: '1'
|
|
|
|
## Total number of workers default value is 4
|
|
- name: NUMBER_OF_WORKERS
|
|
value: '4'
|
|
|
|
## Total number of vm workers
|
|
- name: VM_WORKERS
|
|
value: '1'
|
|
|
|
## enter the comma separated target nodes name
|
|
- name: TARGET_NODES
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# Provide the LIB here
|
|
# Only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## percentage of total nodes to target
|
|
- name: NODES_AFFECTED_PERC
|
|
value: ''
|
|
|
|
## it defines the sequence of chaos execution for multiple target nodes
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: node-io-stress
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Scale the application replicas and test the node autoscaling on cluster
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-autoscaler
|
|
labels:
|
|
name: pod-autoscaler
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
- "create"
|
|
- "patch"
|
|
- "update"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-autoscaler
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# Number of replicas to scale
|
|
- name: REPLICA_COUNT
|
|
value: '5'
|
|
|
|
# PROVIDE THE LIB HERE
|
|
# ONLY LITMUS SUPPORTED
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
labels:
|
|
name: pod-autoscaler
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: "Kills a container belonging to an application pod \n"
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: container-kill
|
|
labels:
|
|
name: container-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "apps"
|
|
- "batch"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "events"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "update"
|
|
- "patch"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name container-kill
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# lib can be litmus or pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
# provide the chaos interval
|
|
- name: CHAOS_INTERVAL
|
|
value: '10'
|
|
|
|
- name: SIGNAL
|
|
value: 'SIGKILL'
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
# provide the name of container runtime
|
|
# for litmus LIB, it supports docker, containerd, crio
|
|
# for pumba LIB, it supports docker only
|
|
- name: CONTAINER_RUNTIME
|
|
value: 'docker'
|
|
|
|
# provide the total chaos duration
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '20'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: container-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Give a memory hog on a node belonging to a deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-memory-hog
|
|
labels:
|
|
name: node-memory-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-memory-hog
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '120'
|
|
|
|
## Specify the size as percent of total node capacity Ex: '30'
|
|
## NOTE: for selecting this option keep MEMORY_CONSUMPTION_MEBIBYTES empty
|
|
- name: MEMORY_CONSUMPTION_PERCENTAGE
|
|
value: ''
|
|
|
|
## Specify the amount of memory to be consumed in mebibytes
|
|
## NOTE: for selecting this option keep MEMORY_CONSUMPTION_PERCENTAGE empty
|
|
- name: MEMORY_CONSUMPTION_MEBIBYTES
|
|
value: ''
|
|
|
|
- name: NUMBER_OF_WORKERS
|
|
value: '1'
|
|
|
|
# ENTER THE COMMA SEPARATED TARGET NODES NAME
|
|
- name: TARGET_NODES
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# Provide the LIB here
|
|
# Only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
## percentage of total nodes to target
|
|
- name: NODES_AFFECTED_PERC
|
|
value: ''
|
|
|
|
## it defines the sequence of chaos execution for multiple target nodes
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: node-memory-hog
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Pod DNS Error injects dns failure/error in target pod containers
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-dns-error
|
|
labels:
|
|
name: pod-dns-error
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-dns-error
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TARGET_CONTAINER
|
|
value: ""
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: "litmuschaos/go-runner:latest"
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: "60" # in seconds
|
|
|
|
# Time period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ""
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ""
|
|
|
|
- name: TARGET_PODS
|
|
value: ""
|
|
|
|
# provide the name of container runtime, it supports docker, containerd, crio
|
|
- name: CONTAINER_RUNTIME
|
|
value: "docker"
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: "/var/run/docker.sock"
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: "parallel"
|
|
|
|
# list of the target hostnames or kewywords eg. '["litmuschaos","chaosnative.io"]' . If empty all hostnames are targets
|
|
- name: TARGET_HOSTNAMES
|
|
value: ""
|
|
|
|
# can be either exact or substring, determines whether the dns query has to match exactly with one of the targets or can have any of the targets as substring
|
|
- name: MATCH_SCHEME
|
|
value: "exact"
|
|
|
|
labels:
|
|
experiment: pod-dns-error
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
poweroff node
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-poweroff
|
|
labels:
|
|
name: node-poweroff
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
- "secrets"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-restart
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: SSH_USER
|
|
value: 'root'
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '360'
|
|
|
|
- name: EXPERIMENT_NAME
|
|
value: 'node-poweroff'
|
|
|
|
- name: REBOOT_COMMAND
|
|
value: '-o ServerAliveInterval=1 -o ServerAliveCountMax=1 "sudo systemctl poweroff --force --force" ; true'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# PROVIDE THE LIB HERE
|
|
# ONLY LITMUS SUPPORTED
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: "litmuschaos/go-runner:latest"
|
|
|
|
# ENTER THE TARGET NODE NAME
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# ENTER THE TARGET NODE IP
|
|
- name: TARGET_NODE_IP
|
|
value: ''
|
|
|
|
labels:
|
|
name: node-poweroff
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
secrets:
|
|
- name: id-rsa
|
|
mountPath: /mnt/
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Kills the docker service on the application node to check the resiliency.
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: docker-service-kill
|
|
labels:
|
|
name: docker-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name docker-service-kill
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '90' # in seconds
|
|
|
|
# Period to wait before injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'ubuntu:16.04'
|
|
|
|
# provide the target node name
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
labels:
|
|
name: docker-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
|
|
---
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
IO stress on a app pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-io-stress
|
|
labels:
|
|
name: pod-io-stress
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-io-stress
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '120'
|
|
|
|
## specify the size as percentage of free space on the file system
|
|
## default value 90 (in percentage)
|
|
- name: FILESYSTEM_UTILIZATION_PERCENTAGE
|
|
value: '10'
|
|
|
|
## we can specify the size in Gigabyte (Gb) also in place of percentage of free space
|
|
## NOTE: for selecting this option FILESYSTEM_UTILIZATION_PERCENTAGE should be empty
|
|
- name: FILESYSTEM_UTILIZATION_BYTES
|
|
value: ''
|
|
|
|
## Total number of workers default value is 4
|
|
- name: NUMBER_OF_WORKERS
|
|
value: '4'
|
|
|
|
## Percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
# provide volume mount path
|
|
- name: VOLUME_MOUNT_PATH
|
|
value: ''
|
|
|
|
## specify the comma separated target pods
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# Provide the LIB here
|
|
# Only pumba supported
|
|
- name: LIB
|
|
value: 'pumba'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
# provide the socket file path
|
|
# it is used in pumba lib
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-io-stress
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Taint the node where application pod is scheduled
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-taint
|
|
labels:
|
|
name: node-taint
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "events"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "daemonsets"
|
|
- "pods/eviction"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
- "patch"
|
|
- "update"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-taint
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Provide the LIB here
|
|
# Only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# set taint label & effect
|
|
# key=value:effect or key:effect
|
|
- name: TAINTS
|
|
value: ''
|
|
|
|
labels:
|
|
name: node-taint
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Drain the node where application pod is scheduled
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: node-drain
|
|
labels:
|
|
name: node-drain
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
- "apps"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "events"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "daemonsets"
|
|
- "pods/eviction"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
- "patch"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name node-drain
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60'
|
|
|
|
# Provide the LIB here
|
|
# Only litmus supported
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
labels:
|
|
name: node-drain
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Pod DNS Spoof can spoof particular dns requests in target pod container to desired target hostnames
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-dns-spoof
|
|
labels:
|
|
name: pod-dns-spoof
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-dns-spoof
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: TARGET_CONTAINER
|
|
value: ""
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: "litmuschaos/go-runner:latest"
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: "60" # in seconds
|
|
|
|
# Time period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ""
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ""
|
|
|
|
- name: TARGET_PODS
|
|
value: ""
|
|
|
|
# provide the name of container runtime, it supports docker, containerd, crio
|
|
- name: CONTAINER_RUNTIME
|
|
value: "docker"
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: "/var/run/docker.sock"
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: "parallel"
|
|
|
|
# map of the target hostnames eg. '{"abc.com":"spoofabc.com"}' . If empty no queries will be spoofed
|
|
- name: SPOOF_MAP
|
|
value: ""
|
|
|
|
labels:
|
|
experiment: pod-dns-spoof
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Deletes a pod belonging to a deployment/statefulset/daemonset
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: k8-service-kill
|
|
labels:
|
|
name: k8-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "apps"
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "deployments"
|
|
- "jobs"
|
|
- "pods"
|
|
- "configmaps"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs :
|
|
- "get"
|
|
- "list"
|
|
labels:
|
|
name: k8-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
image: "litmuschaos/chaostoolkit:latest"
|
|
args:
|
|
- -c
|
|
- python /app/chaos/chaostest/kubernetes/k8_wrapper.py; exit 0
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
- name: CHAOSTOOLKIT_IN_POD
|
|
value: 'true'
|
|
|
|
- name: FILE
|
|
value: 'service-app-kill-health.json'
|
|
|
|
- name: NAME_SPACE
|
|
value: ''
|
|
|
|
- name: LABEL_NAME
|
|
value: ''
|
|
|
|
- name: APP_ENDPOINT
|
|
value: ''
|
|
|
|
- name: PERCENTAGE
|
|
value: '50'
|
|
|
|
- name: REPORT
|
|
value: 'true'
|
|
|
|
- name: REPORT_ENDPOINT
|
|
value: 'none'
|
|
|
|
- name: TEST_NAMESPACE
|
|
value: 'default'
|
|
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Kills the kubelet service on the application node to check the resiliency.
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: kubelet-service-kill
|
|
labels:
|
|
name: kubelet-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Cluster
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- "nodes"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name kubelet-service-kill
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '90' # in seconds
|
|
|
|
# Period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
- name: NODE_LABEL
|
|
value: ''
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'ubuntu:16.04'
|
|
|
|
# provide the target node name
|
|
- name: TARGET_NODE
|
|
value: ''
|
|
|
|
labels:
|
|
name: kubelet-service-kill
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Injects network packet loss on pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-network-loss
|
|
labels:
|
|
name: pod-network-loss
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "get"
|
|
- "list"
|
|
- "patch"
|
|
- "create"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-network-loss
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
- name: NETWORK_INTERFACE
|
|
value: 'eth0'
|
|
|
|
- name: TC_IMAGE
|
|
value: 'gaiadocker/iproute2'
|
|
|
|
- name: NETWORK_PACKET_LOSS_PERCENTAGE
|
|
value: '100' #in PERCENTAGE
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60' # in seconds
|
|
|
|
# ime period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# it can be litmus or pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
# provide the name of container runtime
|
|
# for litmus LIB, it supports docker, containerd, crio
|
|
# for pumba LIB, it supports docker only
|
|
- name: CONTAINER_RUNTIME
|
|
value: 'docker'
|
|
|
|
# provide the destination ips
|
|
# chaos injection will be triggered for these destination ips
|
|
- name: DESTINATION_IPS
|
|
value: ''
|
|
|
|
# provide the destination hosts
|
|
# chaos injection will be triggered for these destination hosts
|
|
- name: DESTINATION_HOSTS
|
|
value: ''
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-network-loss
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|
|
apiVersion: litmuschaos.io/v1alpha1
|
|
description:
|
|
message: |
|
|
Injects network latency on pods belonging to an app deployment
|
|
kind: ChaosExperiment
|
|
metadata:
|
|
name: pod-network-latency
|
|
labels:
|
|
name: pod-network-latency
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: chaosexperiment
|
|
app.kubernetes.io/version: latest
|
|
spec:
|
|
definition:
|
|
scope: Namespaced
|
|
permissions:
|
|
- apiGroups:
|
|
- ""
|
|
- "batch"
|
|
- "apps"
|
|
- "apps.openshift.io"
|
|
- "argoproj.io"
|
|
- "litmuschaos.io"
|
|
resources:
|
|
- "jobs"
|
|
- "pods"
|
|
- "pods/log"
|
|
- "replicationcontrollers"
|
|
- "deployments"
|
|
- "statefulsets"
|
|
- "daemonsets"
|
|
- "replicasets"
|
|
- "deploymentconfigs"
|
|
- "rollouts"
|
|
- "pods/exec"
|
|
- "events"
|
|
- "chaosengines"
|
|
- "chaosexperiments"
|
|
- "chaosresults"
|
|
verbs:
|
|
- "create"
|
|
- "list"
|
|
- "get"
|
|
- "patch"
|
|
- "update"
|
|
- "delete"
|
|
- "deletecollection"
|
|
image: "litmuschaos/go-runner:latest"
|
|
imagePullPolicy: Always
|
|
args:
|
|
- -c
|
|
- ./experiments -name pod-network-latency
|
|
command:
|
|
- /bin/bash
|
|
env:
|
|
|
|
- name: TARGET_CONTAINER
|
|
value: ''
|
|
|
|
- name: NETWORK_INTERFACE
|
|
value: 'eth0'
|
|
|
|
# provide lib image
|
|
- name: LIB_IMAGE
|
|
value: 'litmuschaos/go-runner:latest'
|
|
|
|
- name: TC_IMAGE
|
|
value: 'gaiadocker/iproute2'
|
|
|
|
- name: NETWORK_LATENCY
|
|
value: '2000' #in ms
|
|
|
|
- name: TOTAL_CHAOS_DURATION
|
|
value: '60' # in seconds
|
|
|
|
# Time period to wait before and after injection of chaos in sec
|
|
- name: RAMP_TIME
|
|
value: ''
|
|
|
|
# lib can be litmus or pumba
|
|
- name: LIB
|
|
value: 'litmus'
|
|
|
|
## percentage of total pods to target
|
|
- name: PODS_AFFECTED_PERC
|
|
value: ''
|
|
|
|
- name: TARGET_PODS
|
|
value: ''
|
|
|
|
# provide the name of container runtime
|
|
# for litmus LIB, it supports docker, containerd, crio
|
|
# for pumba LIB, it supports docker only
|
|
- name: CONTAINER_RUNTIME
|
|
value: 'docker'
|
|
|
|
# provide the destination ips
|
|
# chaos injection will be triggered for these destination ips
|
|
- name: DESTINATION_IPS
|
|
value: ''
|
|
|
|
# provide the destination hosts
|
|
# chaos injection will be triggered for these destination hosts
|
|
- name: DESTINATION_HOSTS
|
|
value: ''
|
|
|
|
# provide the socket file path
|
|
- name: SOCKET_PATH
|
|
value: '/var/run/docker.sock'
|
|
|
|
## it defines the sequence of chaos execution for multiple target pods
|
|
## supported values: serial, parallel
|
|
- name: SEQUENCE
|
|
value: 'parallel'
|
|
|
|
labels:
|
|
name: pod-network-latency
|
|
app.kubernetes.io/part-of: litmus
|
|
app.kubernetes.io/component: experiment-job
|
|
app.kubernetes.io/version: latest
|
|
|
|
---
|