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
krkn_pod_recovery_time: 120
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. | ✔️ |