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.
- works with
Kubernetes
,OpenStack
,AWS
,Azure
,GCP
and local machines Prometheus
andDatadog
metrics collectionyaml
policies describing chaos experiments- multiple modes
Powerfulseal documentation is included in the docs directory. It can be hosted locally with jekyll by running jekyll serve from the docs directory.
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
- 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.