Following ways are supported to run Kraken:
- Standalone python program through Git
- Containerized version using either Podman or Docker as the runtime
- Kubernetes or OpenShift deployment
NOTE: It is recommended to run Kraken external to the cluster ( Standalone or Containerized ) hitting the Kubernetes/OpenShift API as running it internal to the cluster might be disruptive to itself and also might not report back the results if the chaos leads to cluster's API server instability.
NOTE: To run Kraken on Power (ppc64le) architecture, build and run a containerized version by following the instructions given here.
$ git clone https://github.com/openshift-scale/kraken.git
$ cd kraken
$ pip3 install -r requirements.txt
NOTE: Make sure python3-devel and latest pip versions are installed on the system. The dependencies install has been tested with pip >= 21.1.3 versions.
$ python3 run_kraken.py --config <config_file_location>
Assuming that the latest docker ( 17.05 or greater with multi-build support ) is installed on the host, run:
$ docker pull quay.io/openshift-scale/kraken:latest
$ docker run --name=kraken --net=host -v <path_to_kubeconfig>:/root/.kube/config:Z -v <path_to_kraken_config>:/root/kraken/config/config.yaml:Z -d quay.io/openshift-scale/kraken:latest
$ docker run --name=kraken --net=host -v <path_to_kubeconfig>:/root/.kube/config:Z -v <path_to_kraken_config>:/root/kraken/config/config.yaml:Z -v <path_to_scenarios_directory>:/root/kraken/scenarios:Z -d quay.io/openshift-scale/kraken:latest #custom or tweaked scenario configs
$ docker logs -f kraken
Similarly, podman can be used to achieve the same:
$ podman pull quay.io/openshift-scale/kraken
$ podman run --name=kraken --net=host -v <path_to_kubeconfig>:/root/.kube/config:Z -v <path_to_kraken_config>:/root/kraken/config/config.yaml:Z -d quay.io/openshift-scale/kraken:latest
$ podman run --name=kraken --net=host -v <path_to_kubeconfig>:/root/.kube/config:Z -v <path_to_kraken_config>:/root/kraken/config/config.yaml:Z -v <path_to_scenarios_directory>:/root/kraken/scenarios:Z -d quay.io/openshift-scale/kraken:latest #custom or tweaked scenario configs
$ podman logs -f kraken
If you want to build your own kraken image see here
Refer Instructions on how to deploy and run Kraken as a Kubernetes/OpenShift deployment.