Chore(new_chart): Add Chaos Charts for Azure instance terminate experiment (#442)

* Chore(new_chart): Add Chaos Charts for Azure instance terminate experiment

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Update azure.chartserviceversion.yaml

Co-authored-by: Shubham Chaudhary <shubham.chaudhary@mayadata.io>
This commit is contained in:
Udit Gaurav
2021-04-16 00:01:02 +05:30
committed by GitHub
parent c9a37f4a3d
commit 19db35022b
8 changed files with 232 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2021-02-20T10:28:08Z
name: azure-instance-terminate
version: 0.1.0
annotations:
categories: Kubernetes
vendor: Chaos Native
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
spec:
displayName: azure-instance-terminate
categoryDescription: |
This experiment causes the power off of an azure instance for a certain chaos duration.
- Causes termination of an azure instance before bringing it back to running state after the specified chaos duration.
- It helps to check the performance of the application on the instance.
keywords:
- Kubernetes
- Azure
- Termination
platforms:
- Azure
maturity: alpha
chaosType: infra
maintainers:
- name: Udit Gaurav
email: udit@chaosnative.com
provider:
name: Chaos Native
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/azure/experiments/azure/instance-terminate/experiment
- name: Documentation
url: https://docs.litmuschaos.io/docs/azure-instance-terminate/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/azure/azure-instance-terminate/experiment.yaml

View File

@@ -0,0 +1,29 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
annotationCheck: 'false'
engineState: 'active'
chaosServiceAccount: azure-instance-terminate-sa
monitoring: false
# It can be retain/delete
jobCleanUpPolicy: 'delete'
experiments:
- name: azure-instance-terminate
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '30'
# provide the target instance name
- name: AZURE_INSTANCE_NAME
value: ''
# provide the resource group of the instance
- name: RESOURCE_GROUP
value: ''

View File

@@ -0,0 +1,79 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Terminating azure VM instance
kind: ChaosExperiment
metadata:
name: azure-instance-terminate
labels:
name: azure-instance-terminate
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"
- "pods/exec"
- "secrets"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
image: "litmuschaos/go-runner:azure"
imagePullPolicy: Always
args:
- -c
- ./experiments -name azure-instance-terminate
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '30'
# Period to wait before and after injection of chaos in sec
- name: RAMP_TIME
value: ''
# provide the target instance name
- name: AZURE_INSTANCE_NAME
value: ''
# provide the resource group of the instance
- name: RESOURCE_GROUP
value: ''
# Provide the path of aks credentials mounted from secret
- name: AZURE_AUTH_LOCATION
value: '/tmp/azure.auth'
# provide the LIB
# only litmus supported
- name: LIB
value: 'litmus'
labels:
name: azure-instance-terminate
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
secrets:
- name: cloud-secret
mountPath: /tmp/

View File

@@ -0,0 +1,37 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: azure-instance-terminate-sa
namespace: default
labels:
name: azure-instance-terminate-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: azure-instance-terminate-sa
labels:
name: azure-instance-terminate-sa
app.kubernetes.io/part-of: litmus
rules:
- apiGroups: ["","litmuschaos.io","batch"]
resources: ["pods","jobs","secrets","events","pods/log","pods/exec","chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: azure-instance-terminate-sa
labels:
name: azure-instance-terminate-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: azure-instance-terminate-sa
subjects:
- kind: ServiceAccount
name: azure-instance-terminate-sa
namespace: default

View File

@@ -0,0 +1,38 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2021-02-20T10:28:08Z
name: azure
version: 0.1.0
annotations:
categories: Kubernetes
chartDescription: Injects chaos on azure servies
spec:
displayName: Azure
categoryDescription: >
Azure category of chaos experiments causes the disruption of the azure serives for a certain chaos duration.
experiments:
- azure-instance-terminate
keywords:
- Azure
- Instance
- State
maintainers:
- name: Udit Gaurav
email: udit.gaurav@mayadata.io
provider:
name: Chaos Native
links:
- name: Kubernetes Website
url: https://kubernetes.io
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/azure/experiments/azure
- name: Kubernetes Slack
url: https://slack.kubernetes.io/
- name: Documentation
url: https://docs.litmuschaos.io/docs/chaoshub/#platform-chaos
icon:
- url: https://raw.githubusercontent.com/litmuschaos/charthub.litmuschaos.io/master/public/litmus.ico
mediatype: image/png
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/azure/experiments.yaml

View File

@@ -0,0 +1,5 @@
packageName: azure
experiments:
- name: azure-instance-terminate
CSV: azure-instance-terminate.chartserviceversion.yaml
desc: "azure-instance-terminate"

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB