PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible. It allows for writing scenarios describing complete chaos experiments.
Embrace the inevitable failure. Embrace The Seal.
Please refer to the Powerfulseal documentation to learn how to use it.
- works with
Kubernetes
,OpenStack
,AWS
,Azure
,GCP
and local machines yaml
policies describing complete chaos experimentsPrometheus
andDatadog
metrics collection- multiple modes for differnt use cases
Just to give you a taste, here's an example policy. It will kill a single pod, and then check that the service continues responding to HTTP probes, to verify its resiliency to one of its pods going down.
scenarios:
- name: Kill one pod in my namespace, make sure the service responds
steps:
# kill a pod from `myapp` namespace
- podAction:
matches:
- namespace: myapp
filters:
- randomSample:
size: 1
actions:
- kill:
probability: 0.75
# check my service continues working
- probeHTTP:
target:
service:
name: my-service
namespace: myapp
endpoint: /healthz
Assuming that's in policy.yml
, you can run it like this:
powerfulseal autonomous --policy-file ./policy.yaml
- docker hub:
docker pull powerfulseal/powerfulseal:3.1.1
- pip:
pip install powerfulseal
- https://medium.com/faun/failures-are-inevitable-even-a-strongest-platform-with-concrete-operations-infrastructure-can-7d0c016430c6
- https://www.techatbloomberg.com/blog/powerfulseal-testing-tool-kubernetes-clusters/
- https://siliconangle.com/blog/2017/12/17/bloomberg-open-sources-powerfulseal-new-tool-testing-kubernetes-clusters/
- https://github.com/ramitsurana/awesome-kubernetes#testing
- https://github.com/ramitsurana/awesome-kubernetes#other-useful-videos
- https://github.com/dastergon/awesome-chaos-engineering#notable-tools
- https://www.linux.com/news/powerfulseal-testing-tool-kubernetes-clusters-0
- https://www.infoq.com/news/2018/01/powerfulseal-chaos-kubernetes
- PowerfulSeal presentation at KubeCon 2017 Austin
PowerfulSeal logo Copyright 2018 The Linux Foundation, and distributed under the Creative Commons Attribution (CC-BY-4.0) license.