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: 7 months 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 8 years ago)
- Default Branch: master
- Last Pushed: 2023-11-10T18:28:39.000Z (about 2 years ago)
- Last Synced: 2025-04-14T16:57:09.196Z (8 months ago)
- Topics: chaos-engineering, hacktoberfest, kubernetes, openstack, testing
- Language: Python
- Homepage:
- Size: 8.16 MB
- Stars: 1,961
- Watchers: 47
- Forks: 165
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-chaos-engineering - Powerful Seal - PowerfulSeal adds chaos to your Kubernetes clusters, so that you can detect problems in your systems as early as possible. It kills targeted pods and takes VMs up and down. (3. Fault Injection / Cloud)
- k8s_awesome_document - PowerfulSeal - --PowerfulSeal是一个类似于Kube-monkey的工具,遵循混沌工程的原则。PowerfulSeal可以杀死pod,并从集群中移除/添加vm。与Kube-monkey相比,powerfulseal有一个交互模式,允许您手动破坏特定的集群组件。此外,除了SSH, powerfulseal不需要外部依赖。 (🏗相关开源项目 / 测试)
- awesome-eks - PowerfulSeal
- awesome-k8s-resources - PowerfulSeal - PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible. (Tools and Libraries / Testing and Troubleshooting)
- awesome-chaos-engineering - PowerfulSeal - Adds chaos to your Kubernetes clusters, so that you can detect problems in your systems as early as possible. It kills targeted pods and takes VMs up and down. (Notable Tools)
- awesome-chaos-engineering - PowerfulSeal - Adds chaos to your Kubernetes clusters, so that you can detect problems in your systems as early as possible. It kills targeted pods and takes VMs up and down. (Notable Tools)
- awesome - powerfulseal - A powerful testing tool for Kubernetes clusters. (Python)
- awesome-kubernetes - PowerfulSeal - kills targeted pods and machines to test your software reliability (Testing / [Jenkins](#jenkins))
README
# PowerfulSeal
[](https://travis-ci.com/powerfulseal/powerfulseal) [](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).