Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bloomberg/powerfulseal
A powerful testing tool for Kubernetes clusters.
https://github.com/bloomberg/powerfulseal
chaos-engineering hacktoberfest kubernetes openstack testing
Last synced: about 8 hours ago
JSON representation
A powerful testing tool for Kubernetes clusters.
- Host: GitHub
- URL: https://github.com/bloomberg/powerfulseal
- Owner: powerfulseal
- License: apache-2.0
- Created: 2017-12-05T18:43:45.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-11-10T18:28:39.000Z (12 months ago)
- Last Synced: 2024-10-30T20:03:34.301Z (6 days ago)
- Topics: chaos-engineering, hacktoberfest, kubernetes, openstack, testing
- Language: Python
- Homepage:
- Size: 8.16 MB
- Stars: 1,943
- Watchers: 48
- Forks: 164
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome - powerfulseal - A powerful testing tool for Kubernetes clusters. (Python)
README
# PowerfulSeal
[![Travis](https://img.shields.io/travis/powerfulseal/powerfulseal.svg)](https://travis-ci.com/powerfulseal/powerfulseal) [![PyPI](https://img.shields.io/pypi/v/powerfulseal.svg)](https://pypi.python.org/pypi/powerfulseal)
**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](https://principlesofchaos.org).
Embrace the inevitable failure. Embrace The Seal.
## [Documentation](https://powerfulseal.github.io/powerfulseal)
Please refer to the [Powerfulseal documentation](https://powerfulseal.github.io/powerfulseal) to learn how to use it.
## Highlights
- works with `Kubernetes`, `OpenStack`, `AWS`, `Azure`, `GCP` and local machines
- `yaml` [policies](https://powerfulseal.github.io/powerfulseal/policies) describing complete chaos experiments
- `Prometheus` and `Datadog` metrics collection
- multiple [modes](https://powerfulseal.github.io/powerfulseal/modes) for differnt use cases## Hello world!
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.
```yaml
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:
```sh
powerfulseal autonomous --policy-file ./policy.yaml
```[Learn more](https://powerfulseal.github.io/powerfulseal)
## Installing
- [docker hub](https://hub.docker.com/r/powerfulseal/powerfulseal/tags): `docker pull powerfulseal/powerfulseal:3.1.1`
- [pip](https://pypi.org/project/powerfulseal/): `pip install powerfulseal`## Read about the 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](https://youtu.be/00BMn0UjsG4)## Tools consuming PowerfulSeal
- Chaos and resiliency testing tool for Kubernetes and OpenShift: https://github.com/openshift-scale/kraken
---
## Footnotes
PowerfulSeal logo Copyright 2018 The Linux Foundation, and distributed under the Creative Commons Attribution (CC-BY-4.0) [license](https://creativecommons.org/licenses/by/4.0/legalcode).