(feat)chaos-charts: adding chaosengine yamls (#131)

* (feat)chaos-charts: adding chaosengine yamls

Signed-off-by: aditya109 <adikid1996@gmail.com>
This commit is contained in:
Adi
2020-01-30 12:33:03 +05:30
committed by GitHub
parent 1a6763219b
commit aa49fca028
19 changed files with 808 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-coredns
namespace: kube-system
spec:
appinfo:
appns: 'kube-system'
applabel: 'k8s-app=kube-dns'
appkind: 'deployment'
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
chaosServiceAccount: coredns-sa
monitoring: false
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: coredns-pod-delete
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '30'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '10'
- name: APP_NAMESPACE
value: 'kube-system'
# provide application labels
- name: APP_LABEL
value: 'k8s-app=kube-dns'
# provide application kind
- name: APP_KIND
value: 'deployment'
- name: CHAOS_NAMESPACE
value: 'kube-system'

View File

@@ -0,0 +1,30 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: container-kill
spec:
components:
# specify the name of the container to be killed
env:
- name: TARGET_CONTAINER
value: 'nginx'

View File

@@ -0,0 +1,32 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: disk-fill
spec:
components:
env:
# specify the fill percentage according to the disk pressure required
- name: FILL_PERCENTAGE
value: '80'
- name: TARGET_CONTAINER
value: 'nginx'

View File

@@ -0,0 +1,61 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be retain/delete
jobCleanUpPolicy: 'delete'
experiments:
- name: disk-loss
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# set cloud platform name
- name: CLOUD_PLATFORM
value: 'GCP'
# set app_check to check application state
- name: APP_CHECK
value: 'true'
# This is a chaos namespace into which all infra chaos resources are created
- name: CHAOS_NAMESPACE
value: 'default'
# GCP project ID
- name: PROJECT_ID
value: 'litmus-demo-123'
# Node name of the cluster
- name: NODE_NAME
value: 'demo-node-123'
# Disk Name of the node, it must be an external disk.
- name: DISK_NAME
value: 'demo-disk-123'
# Enter the device name which you wanted to mount only for AWS.
- name: DEVICE_NAME
value: '/dev/sdb'
# Name of Zone in which node is present (GCP)
# Use Region Name when running with AWS (ex: us-central1)
- name: ZONE_NAME
value: 'us-central1-a'
# ChaosEngine CR name associated with the experiment instance
- name: CHAOSENGINE
value: ''
# Service account used by the litmus
- name: CHAOS_SERVICE_ACCOUNT
value: ''

View File

@@ -0,0 +1,39 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
auxiliaryAppInfo: 'ns1:name=percona,ns2:run=nginx'
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: cpu-hog
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# set chaos platform as desired
- name: PLATFORM
value: 'GKE'
# chaos lib used to inject the chaos
- name: LIB
value: 'litmus'

View File

@@ -0,0 +1,30 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: node-drain
spec:
components:
env:
# set node name
- name: APP_NODE
value: 'node-1'

View File

@@ -0,0 +1,37 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: pod-cpu-hog
spec:
components:
env:
- name: TARGET_CONTAINER
value: 'nginx'
#number of cpu cores to be consumed
#verify the resources the app has been launched with
- name: CPU_CORES
value: '1'
# in ms
- name: TOTAL_CHAOS_DURATION
value: '60000'

View File

@@ -0,0 +1,36 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: pod-delete
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '30'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '10'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'

View File

@@ -0,0 +1,36 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-network-chaos
namespace: default
spec:
# It can be delete/retain
jobCleanUpPolicy: 'delete'
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
appinfo:
appns: 'default'
# FYI, To see app label, apply kubectl get pods --show-labels
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
experiments:
- name: pod-network-corruption
spec:
components:
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
#Container name where chaos has to be injected
- name: TARGET_CONTAINER
value: 'nginx'
#Network interface inside target container
- name: NETWORK_INTERFACE
value: 'eth0'

View File

@@ -0,0 +1,44 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-network-chaos
namespace: default
spec:
# It can be delete/retain
jobCleanUpPolicy: 'delete'
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
appinfo:
appns: 'default'
# FYI, To see app label, apply kubectl get pods --show-labels
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
experiments:
- name: pod-network-latency
spec:
components:
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
#Container name where chaos has to be injected
- name: TARGET_CONTAINER
value: 'nginx'
#Network interface inside target container
- name: NETWORK_INTERFACE
value: 'eth0'
- name: LIB_IMAGE
value: 'gaiaadm/pumba:0.6.5'
- name: NETWORK_LATENCY
value: '2000'
- name: TOTAL_CHAOS_DURATION
value: '60000'
- name: LIB
value: 'pumba'

View File

@@ -0,0 +1,45 @@
# chaosengine.yaml
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-network-chaos
namespace: default
spec:
# It can be delete/retain
jobCleanUpPolicy: 'delete'
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
appinfo:
appns: 'default'
# FYI, To see app label, apply kubectl get pods --show-labels
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
experiments:
- name: pod-network-loss
spec:
components:
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
#Container name where chaos has to be injected
- name: TARGET_CONTAINER
value: 'nginx'
- name: LIB_IMAGE
value: 'gaiaadm/pumba:0.6.5'
#Network interface inside target container
- name: NETWORK_INTERFACE
value: 'eth0'
- name: NETWORK_PACKET_LOSS_PERCENTAGE
value: '100'
- name: TOTAL_CHAOS_DURATION
value: '60000'
- name: LIB
value: 'pumba'

View File

@@ -0,0 +1,88 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: kafka-broker-disk-failure
spec:
components:
env:
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# in milliseconds
- name: KAFKA_CONSUMER_TIMEOUT
value: '70000'
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# get from google cloud console or 'gcloud projects list'
- name: PROJECT_ID
value: 'argon-tractor-237811'
# attached to (in use by) node where 'kafka-0' is scheduled
- name: DISK_NAME
value: 'disk-1'
- name: ZONE_NAME
value: 'us-central1-a'
# Uses 'disk-1' attached to the node on which it is scheduled
- name: KAFKA_BROKER
value: 'kafka-0'
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'

View File

@@ -0,0 +1,80 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'true'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: kafka-broker-pod-failure
spec:
components:
env:
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# in milliseconds
- name: KAFKA_CONSUMER_TIMEOUT
value: '70000'
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '20'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'

View File

@@ -0,0 +1,31 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-pool-container-failure
spec:
components:
env:
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'

View File

@@ -0,0 +1,33 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-pool-pod-failure
spec:
components:
env:
- name: FORCE
value: 'true'
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'

View File

@@ -0,0 +1,33 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=percona'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-target-container-failure
spec:
components:
env:
- name: TARGET_CONTAINER
value: 'cstor-istgt'
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'

View File

@@ -0,0 +1,37 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-target-network-delay
spec:
components:
env:
- name: TARGET_CONTAINER
value: 'cstor-istgt'
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'
- name: NETWORK_DELAY
value: '30000'
- name: TOTAL_CHAOS_DURATION
value: '60000'

View File

@@ -0,0 +1,35 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-target-network-loss
spec:
components:
env:
- name: TARGET_CONTAINER
value: 'cstor-istgt'
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'
- name: TOTAL_CHAOS_DURATION
value: '120000'

View File

@@ -0,0 +1,33 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: target-chaos
namespace: default
spec:
# It can be true/false
annotationCheck: 'false'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=percona'
appkind: 'deployment'
chaosServiceAccount: nginx-sa
monitoring: false
components:
runner:
image: 'litmuschaos/chaos-executor:1.0.0'
type: 'go'
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: openebs-target-pod-failure
spec:
components:
env:
- name: FORCE
value: 'true'
- name: APP_PVC
value: 'pvc-c466262a-a5f2-4f0f-b594-5daddfc2e29d'
- name: DEPLOY_TYPE
value: 'deployment'