Krkn recently replaced PowerfulSeal with its own internal pod scenarios using a plugin system. You can run pod scenarios by adding the following config to Krkn:
kraken:
chaos_scenarios:
- plugin_scenarios:
- path/to/scenario.yaml
You can then create the scenario file with the following contents:
# yaml-language-server: $schema=../plugin.schema.json
- id: kill-pods
config:
namespace_pattern: ^kube-system$
label_selector: k8s-app=kube-scheduler
- id: wait-for-pods
config:
namespace_pattern: ^kube-system$
label_selector: k8s-app=kube-scheduler
count: 3
Please adjust the schema reference to point to the schema file. This file will give you code completion and documentation for the available options in your IDE.
The following are the components of Kubernetes/OpenShift for which a basic chaos scenario config exists today.
Component | Description | Working |
---|---|---|
Basic pod scenario | Kill a pod. | ✔️ |
Etcd | Kills a single/multiple etcd replicas. | ✔️ |
Kube ApiServer | Kills a single/multiple kube-apiserver replicas. | ✔️ |
ApiServer | Kills a single/multiple apiserver replicas. | ✔️ |
Prometheus | Kills a single/multiple prometheus replicas. | ✔️ |
OpenShift System Pods | Kills random pods running in the OpenShift system namespaces. | ✔️ |