Compare commits
55 Commits
3.0.0-beta
...
master
Author | SHA1 | Date |
---|---|---|
|
f4dfe58d78 | |
|
92e2120b9a | |
|
caeb1a389d | |
|
55299cbc7a | |
|
44ddb75e96 | |
|
160f11c322 | |
|
682949e5c2 | |
|
b93ed83cf0 | |
|
13119089c7 | |
|
a26b30e112 | |
|
fe30b73860 | |
|
08d2a6e574 | |
|
625df46807 | |
|
6d0fb711a2 | |
|
19a05d9515 | |
|
d482aa76af | |
|
c7f3d2683c | |
|
e846d97ea3 | |
|
aca9eadce0 | |
|
f993e37cdc | |
|
468dd4c429 | |
|
40891c5517 | |
|
840fa6861b | |
|
71bc8e9848 | |
|
26c87550d7 | |
|
123e7450ef | |
|
3f2c0b0aeb | |
|
fb5c66d451 | |
|
5dc83f77fb | |
|
3a56d69410 | |
|
0488947ce6 | |
|
bd3e240e30 | |
|
ff78e5b029 | |
|
baa27bbad2 | |
|
2cb4a10e69 | |
|
ec90d6e953 | |
|
c01dfc2748 | |
|
294375af2b | |
|
48a0779d8a | |
|
3e1cdecab0 | |
|
a7f7d0fa19 | |
|
dff7caa36a | |
|
ae8467237a | |
|
e4f5d12eb0 | |
|
ca86988004 | |
|
9bf371a651 | |
|
2336656ac6 | |
|
f4b6ab6316 | |
|
df22a472d6 | |
|
a6d3bc647b | |
|
cf3add3950 | |
|
5c54b62c43 | |
|
fa7dc162a7 | |
|
796ebce0ca | |
|
89f495c5ba |
|
@ -0,0 +1,215 @@
|
|||
# Created by https://www.toptal.com/developers/gitignore/api/git,visualstudiocode,goland+all,jetbrains+all,macos
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=git,visualstudiocode,goland+all,jetbrains+all,macos
|
||||
|
||||
### Git ###
|
||||
# Created by git for backups. To disable backups in Git:
|
||||
# $ git config --global mergetool.keepBackup false
|
||||
*.orig
|
||||
|
||||
# Created by git when using merge tools for conflicts
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
*.REMOTE.*
|
||||
*_BACKUP_*.txt
|
||||
*_BASE_*.txt
|
||||
*_LOCAL_*.txt
|
||||
*_REMOTE_*.txt
|
||||
|
||||
### GoLand+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# AWS User-specific
|
||||
.idea/**/aws.xml
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# SonarLint plugin
|
||||
.idea/sonarlint/
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### GoLand+all Patch ###
|
||||
# Ignore everything but code style settings and run configurations
|
||||
# that are supposed to be shared within teams.
|
||||
|
||||
.idea/*
|
||||
|
||||
!.idea/codeStyles
|
||||
!.idea/runConfigurations
|
||||
|
||||
### JetBrains+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
|
||||
# AWS User-specific
|
||||
|
||||
# Generated files
|
||||
|
||||
# Sensitive or high-churn files
|
||||
|
||||
# Gradle
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
|
||||
# Mongo Explorer plugin
|
||||
|
||||
# File-based project format
|
||||
|
||||
# IntelliJ
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
|
||||
# JIRA plugin
|
||||
|
||||
# Cursive Clojure plugin
|
||||
|
||||
# SonarLint plugin
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
|
||||
# Editor-based Rest Client
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
|
||||
### JetBrains+all Patch ###
|
||||
# Ignore everything but code style settings and run configurations
|
||||
# that are supposed to be shared within teams.
|
||||
|
||||
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### macOS Patch ###
|
||||
# iCloud generated files
|
||||
*.icloud
|
||||
|
||||
### VisualStudioCode ###
|
||||
.vscode/
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
### VisualStudioCode Patch ###
|
||||
# Ignore all local history of files
|
||||
.history
|
||||
.ionide
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/git,visualstudiocode,goland+all,jetbrains+all,macos
|
|
@ -10,8 +10,6 @@ Chaos Charts are a groups of categorized chaos experiments, represented as custo
|
|||
|
||||
- <b>Generic</b>: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete
|
||||
- <b>OpenEBS</b>: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure
|
||||
- <b>Cassandra</b>: It contains chaos to disrupt state of Cassandra Applications. i.e, cassandra-pod-delete
|
||||
- <b>Kafka</b>: It contains chaos to disrupt state of Kafka Applications. i.e, kafka-broker-pod-delete
|
||||
- <b>Coredns</b>: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete
|
||||
- <b>Kube-AWS</b>: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss
|
||||
- <b>Kube-Components</b>: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy.
|
||||
|
|
117
README.md
|
@ -7,223 +7,212 @@
|
|||
[](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)
|
||||
<br><br>
|
||||
|
||||
This repository hosts the Litmus Chaos Charts. A set of related chaos experiments are bundled into a Chaos Chart. Chaos Charts are classified into the following categories.
|
||||
This repository hosts the Litmus Chaos Charts. A set of related chaos faults are bundled into a Chaos Chart. Chaos Charts are classified into the following categories.
|
||||
|
||||
- [Generic Chaos](#generic-chaos)
|
||||
- [Kubernetes Chaos](#kubernetes-chaos)
|
||||
- [Application Chaos](#application-chaos)
|
||||
- [Platform Chaos](#platform-chaos)
|
||||
|
||||
### Generic Chaos
|
||||
### Kubernetes Chaos
|
||||
|
||||
Chaos actions that apply to generic Kubernetes resources are classified into this category. Following chaos experiments are supported under Generic Chaos Chart
|
||||
Chaos faults that apply to Kubernetes resources are classified in this category. Following chaos faults are supported for Kubernetes:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Experiment Name </th>
|
||||
<th> Fault Name </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Container Kill </td>
|
||||
<td> Kill one container in the application pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/container-kill"> container-kill </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/container-kill"> container-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Disk Fill </td>
|
||||
<td> Fill the Ephemeral Storage of the Pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/disk-fill"> disk-fill </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/disk-fill"> disk-fill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Docker Service Kill </td>
|
||||
<td> Kill docker service of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/docker-service-kill"> docker-service-kill </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/docker-service-kill"> docker-service-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Kubelet Service Kill </td>
|
||||
<td> Kill kubelet service of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/kubelet-service-kill"> kubelet-service-kill </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/kubelet-service-kill"> kubelet-service-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node CPU Hog </td>
|
||||
<td> Stress the cpu of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-cpu-hog"> node-cpu-hog </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-cpu-hog"> node-cpu-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Drain </td>
|
||||
<td> Drain the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-drain"> node-drain </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-drain"> node-drain </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node IO Stress </td>
|
||||
<td> Stress the IO of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-io-stress"> node-io-stress </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-io-stress"> node-io-stress </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Memory Hog </td>
|
||||
<td> Stress the memory of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-memory-hog"> node-memory-hog </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-memory-hog"> node-memory-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Restart </td>
|
||||
<td> Restart the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-restart"> node-restart </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-restart"> node-restart </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Taint </td>
|
||||
<td> Taint the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/node-taint"> node-taint </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-taint"> node-taint </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Autoscaler </td>
|
||||
<td> Scale the replicas of the target application </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-autoscaler"> pod-autoscaler </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-autoscaler"> pod-autoscaler </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod CPU Hog </td>
|
||||
<td> Stress the CPU of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-cpu-hog"> pod-cpu-hog </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-cpu-hog"> pod-cpu-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Delete </td>
|
||||
<td> Delete the target pods </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-delete"> pod-delete </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-delete"> pod-delete </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod DNS Spoof </td>
|
||||
<td> Spoof dns requests to desired target hostnames </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-dns-spoof"> pod-dns-spoof </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-dns-spoof"> pod-dns-spoof </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod DNS Error </td>
|
||||
<td> Error the dns requests of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-dns-error"> pod-dns-error </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-dns-error"> pod-dns-error </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod IO Stress </td>
|
||||
<td> Stress the IO of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-io-stress"> pod-io-stress </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-io-stress"> pod-io-stress </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Memory Hog </td>
|
||||
<td> Stress the memory of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-memory-hog"> pod-memory-hog </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-memory-hog"> pod-memory-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Latency </td>
|
||||
<td> Induce the network latency in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-network-latency"> pod-network-latency </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-latency"> pod-network-latency </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Corruption </td>
|
||||
<td> Induce the network packet corruption in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-network-corruption"> pod-network-corruption </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-corruption"> pod-network-corruption </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Duplication </td>
|
||||
<td> Induce the network packet duplication in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-network-duplication"> pod-network-duplication </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-duplication"> pod-network-duplication </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Loss </td>
|
||||
<td> Induce the network loss in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-network-loss"> pod-network-loss </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-loss"> pod-network-loss </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Partition </td>
|
||||
<td> Disrupt network connectivity to kubernetes pods </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/pod-network-partition"> pod-network-partition </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-partition"> pod-network-partition </a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
### Application Chaos
|
||||
|
||||
While Chaos Experiments under the Generic category offer the ability to induce chaos into Kubernetes resources, it is difficult to analyze and conclude if the chaos induced found a weakness in a given application. The application specific chaos experiments are built with some checks on *pre-conditions* and some expected outcomes after the chaos injection. The result of the chaos experiment is determined by matching the outcome with the expected outcome.
|
||||
While chaos faults under the Kubernetes category offer the ability to induce chaos into Kubernetes resources, it is difficult to analyze and conclude if the induced chaos found a weakness in a given application. The application specific chaos faults are built with some checks on *pre-conditions* and some expected outcomes after the chaos injection. The result of the chaos faults is determined by matching the outcome with the expected outcome.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Experiment Name </th>
|
||||
<th> Fault Category </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> OpenEBS Experiments </td>
|
||||
<td> Injects faults in OpenEBS tool </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/openebs"> OpenEBS experiments</a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Kafka Experiments </td>
|
||||
<td> Inject faults in kafka application </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/kafka"> kafka experiments </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Cassandra Experiments </td>
|
||||
<td> Inject faults in cassandra application </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/cassandra"> cassandra experiments </a></td>
|
||||
<td> Spring Boot Faults </td>
|
||||
<td> Injects faults in Spring Boot applications </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/spring-boot"> Spring Boot Faults</a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
### Platform Chaos
|
||||
|
||||
Chaos experiments that inject chaos into the platform resources of Kubernetes are classified into this category. Management of platform resources vary significantly from each other, Chaos Charts may be maintained separately for each platform (For example, AWS, GCP, Azure, VMWare etc)
|
||||
Chaos faults that inject chaos into the platform and infrastructure resources are classified into this category. Management of platform resources vary significantly from each other, Chaos Charts may be maintained separately for each platform (For example: AWS, GCP, Azure, VMWare etc.)
|
||||
|
||||
Following Platform Chaos experiments are available on ChaosHub
|
||||
Following chaos faults are classified in this category:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Experiment Name </th>
|
||||
<th> Fault Category </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> AWS Experiments </td>
|
||||
<td> AWS Faults </td>
|
||||
<td> AWS Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/kube-aws"> AWS Experiments </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/aws"> AWS Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Azure Experiments </td>
|
||||
<td> Azure Faults </td>
|
||||
<td> Azure Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/azure"> Azure Experiments </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/azure"> Azure Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> GCP Experiments </td>
|
||||
<td> GCP Faults </td>
|
||||
<td> GCP Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/gcp"> GCP Experiments </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/gcp"> GCP Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> VMWare Experiments </td>
|
||||
<td> VMWare Faults </td>
|
||||
<td> VMWare Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/generic/vmware"> VMWare Experiments </a></td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/vmware"> VMWare Faults </a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
|
||||
## Installation Steps for Chart Releases
|
||||
## Installation Steps for Chart Releases
|
||||
|
||||
*Note: Supported from release 1.1.0*
|
||||
*Note: Supported from release 3.0.0*
|
||||
|
||||
- To install the chaos experiments from a specific chart for a given release, execute the following commands
|
||||
- To install the chaos faults from a specific chart for a given release, execute the following commands
|
||||
with the desired `<release_version>`, `<chart_name>` & `<namespace>`
|
||||
|
||||
```bash
|
||||
## downloads and unzips the released source
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/<release_version>.tar.gz)
|
||||
|
||||
## installs the chaosexperiment resources
|
||||
## installs the chaosexperiment resources
|
||||
find chaos-charts-<release_version> -name experiments.yaml | grep <chart-name> | xargs kubectl apply -n <namespace> -f
|
||||
```
|
||||
- For example, to install the *generic* experiment chart bundle for release *1.1.0*, in the *sock-shop* namespace, run:
|
||||
```
|
||||
- For example, to install the *Kubernetes* fault chart bundle for release *3.0.0*, in the *sock-shop* namespace, run:
|
||||
|
||||
```bash
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/1.1.0.tar.gz)
|
||||
find chaos-charts-1.1.0 -name experiments.yaml | grep generic | xargs kubectl apply -n sock-shop -f
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/3.0.0.tar.gz)
|
||||
find chaos-charts-3.0.0 -name experiments.yaml | grep kubernetes | xargs kubectl apply -n sock-shop -f
|
||||
```
|
||||
|
||||
- If you would like to install a specific experiment, replace the `experiments.yaml` in the above command with the relative
|
||||
path of the experiment manifest within the parent chart. For example, to install only the *pod-delete* experiment, run:
|
||||
- If you would like to install a specific fault, replace the `experiments.yaml` in the above command with the relative path of the fault manifest within the parent chart. For example, to install only the *pod-delete* fault, run:
|
||||
|
||||
```bash
|
||||
find chaos-charts-1.1.0 -name experiment.yaml | grep 'generic/pod-delete' | xargs kubectl apply -n sock-shop -f
|
||||
find chaos-charts-3.0.0 -name fault.yaml | grep 'kubernetes/pod-delete' | xargs kubectl apply -n sock-shop -f
|
||||
```
|
||||
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-all-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
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-all.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-count
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
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'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
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-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-custom-all-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-all.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-custom-count
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-cluster-custom-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# In Namespace Changes
|
||||
* Apply experiments for k8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiment`
|
||||
* Setup RBAC - for pod delete RBAC - `kubectl apply -f rbac.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac -`kubectl delete -f rbac.yaml`
|
||||
|
||||
|
||||
# Remote namespace
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine-kiam.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine-kiam.yaml`
|
||||
* Clean up rbac -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-app-all-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
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-all.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-app-count
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
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'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-app-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
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-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-custom-all-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-all.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-custom-count
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-custom-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: byoc-pod-delete
|
||||
version: 0.0.4
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: byoc-pod-delete
|
||||
categoryDescription: |
|
||||
Byoc Pod delete contains chaos to disrupt state of kubernetes resources. It uses chaostoolkit to inject random pod delete failures against specified applications
|
||||
keywords:
|
||||
- BYOC
|
||||
- K8S
|
||||
- Kubernetes
|
||||
- Pod
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: sumit
|
||||
email: sumit_nagal@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/byoc/chaostest
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/byoc-pod-delete/experiment.yaml
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos-app-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
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-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
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/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
# This experiment help you to kill a micro service running on the k8 cluster
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine-kiam.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac -`kubectl delete -f rbac.yaml`
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-service-kill-health
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-service-kill
|
||||
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: 'service-app-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
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/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-service-kill
|
||||
version: 0.0.4
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-service-kill
|
||||
categoryDescription: |
|
||||
K8 service kill contains chaos to kill a micro service running on the k8 cluster. It uses chaostoolkit to inject micro service kill 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
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/generic/k8-service-kill/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,20 +0,0 @@
|
|||
# Pre-requisite
|
||||
|
||||
_In Namespace Changes_
|
||||
- This experiment assume that you are using AWS with kubernetes
|
||||
- This experiment assume your namespace has right role for aws to make aws api calls
|
||||
- This experiment also assume you are using Instance group for your name space or aware that if you are using share node group, it will impact other pods running on this ec2 instance
|
||||
|
||||
# Procedure
|
||||
|
||||
- Apply experiments for k8 - `kubectl apply -f experiments.yaml`
|
||||
- Validate the experiments for k8 - `kubectl get chaosexperiment`
|
||||
- Setup RBAC - for pod delete RBAC - `kubectl apply -f rbac.yaml`
|
||||
- Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
- Validate experiment - `kubectl get pods -o wide`
|
||||
- Validate logs - `kubectl logs -f <delete pod>`
|
||||
- Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
- Clean up rbac -`kubectl delete -f rbac.yaml`
|
||||
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
components:
|
||||
runner:
|
||||
runnerannotation:
|
||||
iam.amazonaws.com/role: "k8s-chaosec2access"
|
||||
experiments:
|
||||
- name: k8-aws-ec2-terminate
|
||||
spec:
|
||||
components:
|
||||
experimentannotation:
|
||||
iam.amazonaws.com/role: "k8s-chaosec2access"
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: default
|
||||
- name: LABEL_NAME
|
||||
value: app=nginx
|
||||
- name: APP_ENDPOINT
|
||||
value: localhost
|
||||
- name: FILE
|
||||
value: 'ec2-delete.json'
|
||||
- name: AWS_ROLE
|
||||
value: 'chaosec2access'
|
||||
- name: AWS_ACCOUNT
|
||||
value: '0000000000'
|
||||
- name: AWS_REGION
|
||||
value: 'us-west-2'
|
||||
- name: AWS_AZ
|
||||
value: 'us-west-2c'
|
||||
- name: AWS_RESOURCE
|
||||
value: 'ec2-iks'
|
||||
- name: AWS_SSL
|
||||
value: 'false'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
|
@ -1,112 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes an aws instance belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate
|
||||
labels:
|
||||
name: k8-aws-ec2-terminate
|
||||
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/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/chaostest/aws/aws_wrapper.py ; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: CHAOSTOOLKIT_IN_POD
|
||||
value: 'true'
|
||||
|
||||
- name: FILE
|
||||
value: 'ec2-delete.json'
|
||||
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
|
||||
- name: LABEL_NAME
|
||||
value: 'app=nginx'
|
||||
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: PERCENTAGE
|
||||
value: '50'
|
||||
|
||||
# Variable to set for custom report upload
|
||||
- name: REPORT
|
||||
value: 'false'
|
||||
|
||||
# Variable to set for report upload endpoint
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
|
||||
# Variable to set for AWS account
|
||||
- name: AWS_ACCOUNT
|
||||
value: '000000000000'
|
||||
|
||||
# Variable to set for AWS role, Make sure you have created this role and have give access
|
||||
- name: AWS_ROLE
|
||||
value: 'chaosec2access'
|
||||
|
||||
# Variable to set for AWS region
|
||||
- name: AWS_REGION
|
||||
value: 'us-west-2'
|
||||
|
||||
# Variable to set for AWS AZ
|
||||
- name: AWS_AZ
|
||||
value: 'us-west-2c'
|
||||
|
||||
# Variable to set for AWS RESOURCE
|
||||
- name: AWS_RESOURCE
|
||||
value: 'ec2-iks'
|
||||
|
||||
# Variable to set for AWS SSL
|
||||
- name: AWS_SSL
|
||||
value: 'false'
|
||||
|
||||
# Variable which indicates where the test results CRs will be persisted
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
labels:
|
||||
name: k8-aws-ec2-terminate
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate
|
||||
version: 0.0.1
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-aws-ec2-terminate
|
||||
categoryDescription: |
|
||||
AWS EC2 terminate contains chaos to disrupt state of aws resources running part of kuberntes cluster workload. It uses chaostoolkit to inject ec2 instance termination against a specified applications
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- AWS
|
||||
- EC2
|
||||
- State
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: sumit
|
||||
email: sumit_nagal@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-aws/k8-aws-ec2-terminate/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
labels:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
labels:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch","extensions","litmuschaos.io","openebs.io","storage.k8s.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/exec","pods/log","secrets","storageclasses","chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","daemonsets","deployments","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/eviction","pods/exec","pods/log","replicasets","secrets","services","statefulsets","storageclasses"]
|
||||
verbs: ["create","delete","get","list","patch","update"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list","patch"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
labels:
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-aws-ec2-terminate-sa
|
||||
namespace: default
|
|
@ -1,60 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
||||
|
||||
---
|
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 44 KiB |
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
* navigate to current directory `charts/generic/k8-alb-ingress-controller/`
|
||||
* Apply experiments for K8 - `kubectl apply -f experiment.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-alb-ingress-controller
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "app=alb-ingress-controller"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: addon-alb-ingress-controller-ns
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: app=alb-ingress-controller
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-alb-ingress-controller
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-alb-ingress-controller
|
||||
categoryDescription: |
|
||||
k8-alb-ingress-controller contains chaos to disrupt state of ingress controller. It uses chaostoolkit to inject random pod delete failures against ingress controller
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Ingress
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Navin
|
||||
email: navin_kumarj@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-alb-ingress-controller/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# Remote namespace
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-calico-node
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "k8s-app=calico-node"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: k8s-app=calico-node
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-calico-node
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-calico-node
|
||||
categoryDescription: |
|
||||
k8-calico-node contains chaos to disrupt state of calico pod. It uses chaostoolkit to inject random pod delete failures against calico node pod.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Calico
|
||||
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-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-calico-node/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kiam-count
|
||||
namespace: default
|
||||
spec:
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
appinfo:
|
||||
appns: kube-system
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
#applabel: "app=nginx"
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
- name: LABEL_NAME
|
||||
value: kiam
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kiam-custom-count
|
||||
namespace: default
|
||||
spec:
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
appinfo:
|
||||
appns: kube-system
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
#applabel: "app=nginx"
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
- name: LABEL_NAME
|
||||
value: app=kiam
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kiam-custom-health
|
||||
namespace: default
|
||||
spec:
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
appinfo:
|
||||
appns: kube-system
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
#applabel: "app=nginx"
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
- name: LABEL_NAME
|
||||
value: app=kiam
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kiam-health
|
||||
namespace: default
|
||||
spec:
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
appinfo:
|
||||
appns: kube-system
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
#applabel: "app=nginx"
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
- name: LABEL_NAME
|
||||
value: kiam
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,9 +0,0 @@
|
|||
# Remote namespace
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,37 +0,0 @@
|
|||
# Generic Chaos engine for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-calico-node
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: kiam
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-kiam
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-kiam
|
||||
categoryDescription: |
|
||||
k8-kiam contains chaos to disrupt state of kiam. It uses chaostoolkit to inject random pod delete failures against kiam pod.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Kiam
|
||||
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-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-kiam/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
* navigate to current directory `charts/generic/k8-kube-proxy/`
|
||||
* Apply experiments for K8 - `kubectl apply -f experiment.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kube-proxy
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "k8s-app=kube-proxy"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: k8s-app=kube-proxy
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-kube-proxy
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-kube-proxy
|
||||
categoryDescription: |
|
||||
k8-kube-proxy contains chaos to disrupt state of kube-proxy. It uses chaostoolkit to inject random pod delete failures against kube-proxy.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Kube-proxy
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Navin
|
||||
email: navin_kumarj@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-kube-proxy/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
* navigate to current directory `charts/generic/k8-prometheus-k8s-prometheus/`
|
||||
* Apply experiments for K8 - `kubectl apply -f experiment.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-prometheus-k8s-prometheus
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "app=prometheus"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace, we assume you are using the addon-metricset-ns if not modify the below namespace
|
||||
- name: NAME_SPACE
|
||||
value: addon-metricset-ns
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: prometheus
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'false'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-prometheus-k8s-prometheus
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-prometheus-k8s-prometheus
|
||||
categoryDescription: |
|
||||
k8-prometheus-k8s-prometheus contains chaos to disrupt state of prometheus. It uses chaostoolkit to inject random pod delete failures against prometheus application.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Prometheus
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Anushya
|
||||
email: anushya_dharmarajan@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-prometheus-k8s-prometheus/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
* navigate to current directory `charts/generic/k8-prometheus-operator/`
|
||||
* Apply experiments for K8 - `kubectl apply -f experiment.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-prometheus-operator
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "k8s-app=prometheus-operator"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace, we assume you are using the addon-metricset-ns if not modify the below namespace
|
||||
- name: NAME_SPACE
|
||||
value: addon-metricset-ns
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: k8s-app=prometheus-operator
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'false'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-prometheus-operator
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-prometheus-operator
|
||||
categoryDescription: |
|
||||
k8-prometheus-operator contains chaos to disrupt state of prometheus operator. It uses chaostoolkit to inject random pod delete failures against prometheus operator.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Prometheus
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Anushya
|
||||
email: anushya_dharmarajan@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-prometheus-operator/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
* navigate to current directory `charts/generic/k8-prometheus-pushgateway/`
|
||||
* Apply experiments for K8 - `kubectl apply -f experiment.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-prometheus-pushgateway
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "k8s-app=prometheus-pushgateway"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace, we assume you are using the addon-metricset-ns if not modify the below namespace
|
||||
- name: NAME_SPACE
|
||||
value: addon-metricset-ns
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: k8s-app=prometheus-pushgateway
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'false'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-prometheus-pushgateway
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-prometheus-pushgateway
|
||||
categoryDescription: |
|
||||
k8-prometheus-pushgateway contains chaos to disrupt state of prometheus pushgateway. It uses chaostoolkit to inject random pod delete failures against prometheus pushgateway.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Prometheus
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Anushya
|
||||
email: anushya_dharmarajan@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-prometheus-pushgateway/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Remote namespace
|
||||
# wavefront collector information - https://github.com/wavefrontHQ/wavefront-collector
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac-admin -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-calico-node
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: "k8s-app=wavefront-collector"
|
||||
appkind: deployment
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace, we assume you are using the kube-system if not modify the below namespace
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: k8s-app=wavefront-collector
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-custom-kill-health.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
- name: TEST_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
# Generic Chaos experiment for Application team, who want to participate in Game Day
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
app.kubernetes.io/part-of: litmus
|
||||
image: "litmuschaos/py-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /litmus/byoc/chaostest/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'
|
|
@ -1,34 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-wavefront-collector
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-wavefront-collector
|
||||
categoryDescription: |
|
||||
k8-wavefront-collector contains chaos to disrupt state of wavefront collector. It uses chaostoolkit to inject random pod delete failures against wavefront collector.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
- Wavefront
|
||||
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-python/tree/master/chaos-test
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/k8-wavefront-collector/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: default
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch"]
|
||||
resources: ["jobs","deployments","daemonsets"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: ["","litmuschaos.io"]
|
||||
resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"]
|
||||
verbs: ["get","create","update","patch","delete","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-11-9T10:28:08Z
|
||||
name: kube-components
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: kube-components
|
||||
chartDescription: Injects chaos on kube components. It uses chaostoolkit.
|
||||
spec:
|
||||
displayName: kube-components
|
||||
categoryDescription: >
|
||||
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easier management and discovery. It will install all the experiments which can be used to inject chaos into containerized applications.
|
||||
experiments:
|
||||
- k8-alb-ingress-controller
|
||||
- k8-kiam
|
||||
- k8-prometheus-operator
|
||||
- k8-kube-proxy
|
||||
- k8-prometheus-pushgateway
|
||||
- k8-calico-node
|
||||
- k8-prometheus-k8s-prometheus
|
||||
- k8-wavefront-collector
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Container
|
||||
- Pod
|
||||
- WaveFront
|
||||
- Prometheus
|
||||
maintainers:
|
||||
- name: sumit
|
||||
email: sumit_nagal@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Kubernetes Website
|
||||
url: https://kubernetes.io
|
||||
- name: Source Code
|
||||
url: https://github.com/kubernetes/kubernetes
|
||||
- name: Kubernetes Slack
|
||||
url: https://slack.kubernetes.io/
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/icons/kube-components.png
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/byoc/kube-components/experiments.yaml
|
|
@ -1,26 +0,0 @@
|
|||
packageName: kube-components
|
||||
experiments:
|
||||
- name: k8-kiam
|
||||
CSV: k8-kiam.chartserviceversion.yaml
|
||||
desc: "k8-kiam"
|
||||
- name: k8-prometheus-operator
|
||||
CSV: k8-prometheus-operator.chartserviceversion.yaml
|
||||
desc: "k8-prometheus-operator"
|
||||
- name: k8-alb-ingress-controller
|
||||
CSV: k8-alb-ingress-controller.chartserviceversion.yaml
|
||||
desc: "k8-alb-ingress-controller"
|
||||
- name: k8-kube-proxy
|
||||
CSV: k8-kube-proxy.chartserviceversion.yaml
|
||||
desc: "k8-kube-proxy"
|
||||
- name: k8-prometheus-pushgateway
|
||||
CSV: k8-prometheus-pushgateway.chartserviceversion.yaml
|
||||
desc: "k8-prometheus-pushgateway"
|
||||
- name: k8-calico-node
|
||||
CSV: k8-calico-node.chartserviceversion.yaml
|
||||
desc: "k8-calico-node"
|
||||
- name: k8-prometheus-k8s-prometheus
|
||||
CSV: k8-prometheus-k8s-prometheus.chartserviceversion.yaml
|
||||
desc: "k8-prometheus-k8s-prometheus"
|
||||
- name: k8-wavefront-collector
|
||||
CSV: k8-wavefront-collector.chartserviceversion.yaml
|
||||
desc: "k8-wavefront-collector"
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2021-06-10T10:28:08Z
|
||||
name: aws-ssm-chaos-by-id
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: aws-ssm-chaos-by-id
|
||||
categoryDescription: |
|
||||
AWS SSM Chaos By ID contains chaos to disrupt the state of infra resources. The experiment can induce chaos on AWS resources using Amazon SSM Run Command This is carried out by using SSM Docs that defines the actions performed by Systems Manager on your managed instances (having SSM agent installed) which let us perform chaos experiments on resources.
|
||||
- Causes chaos on AWS ec2 instances with given instance ID(s) using SSM docs for total chaos duration with the specified chaos interval.
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the target application pod(if provided).
|
||||
keywords:
|
||||
- SSM
|
||||
- AWS
|
||||
- EC2
|
||||
platforms:
|
||||
- AWS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit@chaosnative.com
|
||||
provider:
|
||||
name: ChaosNative
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm/aws-ssm-chaos-by-id
|
||||
- name: Documentation
|
||||
url: https://litmuschaos.github.io/litmus/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml
|
|
@ -1,62 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: aws-ssm-chaos-by-id-sa
|
||||
experiments:
|
||||
- name: aws-ssm-chaos-by-id
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Instance ID of the target ec2 instance
|
||||
# Multiple IDs can also be provided as comma separated values ex: id1,id2
|
||||
- name: EC2_INSTANCE_ID
|
||||
value: ''
|
||||
|
||||
# provide the region name of the target instances
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to be comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
|
@ -1,124 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Execute AWS SSM Chaos on given ec2 instance IDs
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: chaosexperiment
|
||||
app.kubernetes.io/version: latest
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
image: "litmuschaos/go-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ./experiments -name aws-ssm-chaos-by-id
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Instance ID of the target ec2 instance
|
||||
# Multiple IDs can also be provided as comma separated values ex: id1,id2
|
||||
- name: EC2_INSTANCE_ID
|
||||
value: ''
|
||||
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# it defines the sequence of chaos execution for multiple target instances
|
||||
# supported values: serial, parallel
|
||||
- name: SEQUENCE
|
||||
value: 'parallel'
|
||||
|
||||
# Provide the path of aws credentials mounted from secret
|
||||
- name: AWS_SHARED_CREDENTIALS_FILE
|
||||
value: '/tmp/cloud_config.yml'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
||||
|
||||
# provide the number of workers for memory stress
|
||||
- name: NUMBER_OF_WORKERS
|
||||
value: '1'
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to be comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
|
@ -1,62 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
namespace: default
|