Adding Chaostoolkit pattern via leveraging litmus on kubernetes - Charts (#161)
* Changes for chaostoolkit * (refactor): update chaos experiment and sample engine CRs
This commit is contained in:
31
charts/chaostoolkit/k8-pod-delete/engine.yaml
Normal file
31
charts/chaostoolkit/k8-pod-delete/engine.yaml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
kind: ChaosEngine
|
||||||
|
metadata:
|
||||||
|
name: nginx-chaos
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
appinfo:
|
||||||
|
appns: 'default'
|
||||||
|
applabel: 'app=nginx'
|
||||||
|
appkind: 'deployment'
|
||||||
|
annotationCheck: 'true'
|
||||||
|
engineState: 'active'
|
||||||
|
chaosServiceAccount: k8-pod-delete-sa
|
||||||
|
monitoring: false
|
||||||
|
jobCleanUpPolicy: 'retain'
|
||||||
|
experiments:
|
||||||
|
- name: k8-pod-delete
|
||||||
|
spec:
|
||||||
|
components:
|
||||||
|
env:
|
||||||
|
# set chaos namespace
|
||||||
|
- name: NAME_SPACE
|
||||||
|
value: 'default'
|
||||||
|
# set chaos label name
|
||||||
|
- name: LABEL_NAME
|
||||||
|
value: 'nginx'
|
||||||
|
# pod endpoint
|
||||||
|
- name: APP_ENDPOINT
|
||||||
|
value: 'localhost'
|
||||||
|
- name: FILE
|
||||||
|
value: 'pod-app-kill-count.json'
|
59
charts/chaostoolkit/k8-pod-delete/experiment.yaml
Normal file
59
charts/chaostoolkit/k8-pod-delete/experiment.yaml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
description:
|
||||||
|
message: |
|
||||||
|
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||||
|
kind: ChaosExperiment
|
||||||
|
metadata:
|
||||||
|
name: k8-pod-delete
|
||||||
|
version: 0.0.1
|
||||||
|
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"
|
||||||
|
image: "litmuschaos/chaostoolkit:latest"
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- python /app/data/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'
|
||||||
|
|
||||||
|
labels:
|
||||||
|
name: k8-pod-delete
|
@@ -0,0 +1,37 @@
|
|||||||
|
apiVersion: litmuchaos.io/v1alpha1
|
||||||
|
kind: ChartServiceVersion
|
||||||
|
metadata:
|
||||||
|
name: k8-pod-delete
|
||||||
|
version: 0.0.1
|
||||||
|
annotations:
|
||||||
|
categories: Kubernetes
|
||||||
|
vendor: CNCF
|
||||||
|
createdAt: 2020-02-24T10:28:08Z
|
||||||
|
support: https://slack.kubernetes.io/
|
||||||
|
spec:
|
||||||
|
displayName: k8-pod-delete
|
||||||
|
categoryDescription: |
|
||||||
|
K8 Pod delete contains chaos to disrupt state of kubernetes resources. It uses chaostoolkit to inject random pod delete failures against specified applications
|
||||||
|
keywords:
|
||||||
|
- Kubernetes
|
||||||
|
- State
|
||||||
|
platforms:
|
||||||
|
- Minikube
|
||||||
|
maturity: alpha
|
||||||
|
maintainers:
|
||||||
|
- name: sumit
|
||||||
|
email: sumit_nagal@intuit.com
|
||||||
|
minKubeVersion: 1.12.0
|
||||||
|
provider:
|
||||||
|
name: Intuit
|
||||||
|
links:
|
||||||
|
- name: Source Code
|
||||||
|
url: https://github.com/litmuschaos/litmus/tree/master/experiments/chaostoolkit/k8-pod_delete
|
||||||
|
- name: Documentation
|
||||||
|
url: https://docs.litmuschaos.io/docs/k8-pod-delete/
|
||||||
|
- name: Video
|
||||||
|
url: ''
|
||||||
|
icon:
|
||||||
|
- url:
|
||||||
|
mediatype: ""
|
||||||
|
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/chaostoolkit/k8-pod-delete/experiment.yaml
|
40
charts/chaostoolkit/k8-pod-delete/rbac.yaml
Normal file
40
charts/chaostoolkit/k8-pod-delete/rbac.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||||
|
resources: ["pods","deployments","jobs","configmaps","chaosengines","chaosexperiments","chaosresults"]
|
||||||
|
verbs: ["create","list","get","patch","update","delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["nodes"]
|
||||||
|
verbs : ["get","list"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: k8-pod-delete-sa
|
||||||
|
namespace: default
|
||||||
|
|
Reference in New Issue
Block a user