chaos-mesh/chaos-mesh
GitHub: chaos-mesh/chaos-mesh
Chaos Mesh 是 CNCF 孵化的云原生混沌工程平台,通过 Kubernetes CRD 定义和可视化 Dashboard 在集群中注入各类故障,帮助团队主动发现并修复系统的可靠性隐患。
Stars: 7554 | Forks: 932

[](https://github.com/chaos-mesh/chaos-mesh/blob/master/LICENSE)
[](https://codecov.io/gh/chaos-mesh/chaos-mesh)
[](https://goreportcard.com/report/github.com/chaos-mesh/chaos-mesh)
[](https://godoc.org/github.com/chaos-mesh/chaos-mesh)
[](https://github.com/chaos-mesh/chaos-mesh/actions/workflows/upload_image.yml)
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh?ref=badge_shield)
[](https://bestpractices.coreinfrastructure.org/projects/3680)
[](https://artifacthub.io/packages/helm/chaos-mesh/chaos-mesh)
Chaos Mesh 是一个开源的云原生混沌工程平台。它提供了丰富的故障模拟类型,并具备强大的故障场景编排能力。
使用 Chaos Mesh,您可以便捷地模拟开发、测试和生产环境中可能出现的各种异常情况,并发现系统中的潜在问题。为了降低混沌工程项目的门槛,Chaos Mesh 为您提供了可视化操作。您可以在 Web UI 上轻松设计混沌场景,并监控混沌实验的状态。


Chaos Mesh 是 [云原生计算基金会 (CNCF)](https://www.cncf.io/) 的孵化项目。如果您所在的组织希望助力塑造容器化、动态调度和面向微服务技术的演进,请考虑加入 CNCF。有关参与者以及 Chaos Mesh 所扮演角色的详细信息,请阅读 CNCF [公告](https://www.cncf.io/announcements/2020/09/02/cloud-native-computing-foundation-announces-tikv-graduation/)。
在当前阶段,Chaos Mesh 包含以下组件:
- **Chaos Operator**:用于混沌编排的核心组件。完全开源。
- **Chaos Dashboard**:用于管理、设计和监控混沌实验的 Web UI。
观看以下演示视频以快速了解 Chaos Mesh:
[](https://www.youtube.com/watch?v=ifZEwdJO868)
## Chaos Operator
Chaos Operator 以可管理的方式将混沌注入应用程序和 Kubernetes 基础设施,这为混沌实验提供了轻松的自定义定义和自动编排。它包含两个起作用的组件:
**Chaos Controller Manager**:主要负责混沌实验的调度和管理。该组件包含多个 CRD Controller,例如 Workflow Controller、Scheduler Controller 以及各种故障类型的 Controller。
**Chaos Daemon**:以 DaemonSet 方式运行,默认具有 Privileged 权限(可以禁用)。该组件主要通过侵入目标 Pod Namespace 来干扰特定的网络设备、文件系统和内核。

Chaos Operator 使用 [CustomResourceDefinition (CRD)](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/) 来定义混沌对象。
当前的实现支持多种类型的 CRD 对象进行故障注入,即 `PodChaos`、`NetworkChaos`、`IOChaos`、`TimeChaos`、`StressChaos` 等。
您可以在 [Chaos Mesh 文档](https://chaos-mesh.org/docs/) 中获取 CRD 对象的完整列表及其规格说明。
## 快速开始
请参阅 [快速开始](https://chaos-mesh.org/docs/quick-start) 和 [使用 Helm 安装 Chaos Mesh](https://chaos-mesh.org/docs/production-installation-using-helm/)。
## 贡献
请参阅 [贡献指南](./CONTRIBUTING.md) 和 [开发指南](https://chaos-mesh.org/docs/developer-guide-overview)。
## 使用者
请参阅 [ADOPTERS](ADOPTERS.md)。
## 博客
关于 Chaos Mesh 设计与实现、功能特性、混沌工程、社区更新等的博客文章。请参阅 [Chaos Mesh 博客](https://chaos-mesh.org/blog)。以下是一些推荐的入门文章:
- [Chaos Mesh 2.0:迈向混沌工程生态](https://chaos-mesh.org/blog/chaos-mesh-2.0-to-a-chaos-engineering-ecology/)
- [Chaos Mesh - 您的 Kubernetes 系统弹性混沌工程解决方案](https://chaos-mesh.org/blog/chaos_mesh_your_chaos_engineering_solution/)
- [在 10 分钟内运行您的第一个混沌实验](https://chaos-mesh.org/blog/run_your_first_chaos_experiment/)
- [如何在运行时模拟 I/O 故障](https://chaos-mesh.org/blog/how-to-simulate-io-faults-at-runtime/)
- [在 K8s 中模拟时钟漂移且不影响节点上的其他容器](https://chaos-mesh.org/blog/simulating-clock-skew-in-k8s-without-affecting-other-containers-on-node/)
- [构建基于 Chaos Mesh 和 Argo 的自动化测试框架](https://chaos-mesh.org/blog/building_automated_testing_framework)
## 社区
请通过以下方式反馈错误、功能请求和其他问题:
- 在 Twitter 上关注我们 [@chaos_mesh](https://twitter.com/chaos_mesh)。
- 加入 [CNCF Slack](https://slack.cncf.io/) 工作区中的 `#project-chaos-mesh` 频道。
- 提交 Issue 或针对此仓库开启 PR。
### 社区会议
- Chaos Mesh 社区月会(社区和项目级更新、社区分享/演示、办公时间)
- 时间:每月的第四个星期四(除非另有说明)
- [在此 RSVP](https://community.cncf.io/chaos-mesh-community/)
- [会议纪要](https://docs.google.com/document/d/1H8IfmhIJiJ1ltg-XLjqR_P_RaMHUGrl1CzvHnKM_9Sc/edit?usp=sharing)
- Chaos Mesh 开发会议(发布、路线图/功能/RFC 规划和讨论、Issue 分类/讨论等)
- 时间:每隔一周的星期二(除非另有说明)
- [在此 RSVP](https://community.cncf.io/chaos-mesh-community/)
- [会议纪要](https://docs.google.com/document/d/1s9X6tTOy3OGZaLDZQesGw1BNOrxQfWExjBFIn5irpPE/edit)
### 社区博客
- Grant Tarrant-Fisher: [将您的可靠性工具包与您的世界集成](https://medium.com/search?q=Integrate+your+Reliability+Toolkit+with+Your+World)
- Yoshinori Teraoka: [Streake: Chaos Mesh によるカオスエンジニアリング](https://medium.com/sreake-jp/chaos-mesh-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AB%E3%82%AA%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0-46fa2897c742)
- Sébastien Prud'homme: [Chaos Mesh : un générateur de chaos pour Kubernetes](https://www.cowboysysop.com/post/chaos-mesh-un-generateur-de-chaos-pour-kubernetes/)
- Craig Morten
- [K8s Chaos Dive: Chaos-Mesh Part 1](https://dev.to/craigmorten/k8s-chaos-dive-2-chaos-mesh-part-1-2i96)
- [K8s Chaos Dive: Chaos-Mesh Part 2](https://dev.to/craigmorten/k8s-chaos-dive-chaos-mesh-part-2-536m)
- Ronak Banka: [Chaos Mesh 和 Kubernetes 入门](https://itnext.io/getting-started-with-chaos-mesh-and-kubernetes-bfd98d25d481)
- kondoumh: [Kubernetes ネイティブなカオスエンジニアリングツール Chaos Mesh を使ってみる](https://blog.kondoumh.com/entry/2020/10/23/123431)
- Vadim Tkachenko: [使用 ChaosMesh 在 Kubernetes 中制造混沌](https://www.percona.com/blog/2020/11/05/chaosmesh-to-create-chaos-in-kubernetes/)
- Hui Zhang: [一家顶级游戏公司如何利用混沌工程改进测试](https://chaos-mesh.org/blog/how-a-top-game-company-uses-chaos-engineering-to-improve-testing)
- Anurag Paliwal
- [使用 OPA 在使用 Chaos Mesh 时保障租户服务安全](https://anuragpaliwal-93749.medium.com/securing-tenant-services-while-using-chaos-mesh-using-opa-3ae80c7f4b85)
- [利用 Chaos Mesh 中的限制授权功能保护命名空间安全](https://anuragpaliwal-93749.medium.com/securing-namespaces-using-restrict-authorization-feature-in-chaos-mesh-2e110c3e0fb7)
- Pavan Kumar: [使用 Chaos Mesh 在 Kubernetes 中进行混沌工程](https://link.medium.com/1V90dEknugb)
- Jessica Cherry: [使用开源 Web 界面测试您的 Kubernetes 实验](https://opensource.com/article/21/6/chaos-mesh-kubernetes)
- λ.eranga: [使用 Chaos Mesh 进行混沌工程](https://medium.com/rahasak/chaos-engineering-with-chaos-mesh-b040169b51bd)
- Tomáš Kubica: [Kubernetes prakticky: zlounství s Chaos Mesh a Azure Chaos Studio](https://www.tomaskubica.cz/post/2021/kubernetes-prakticky-zlounstvi-s-chaos-mesh-a-azure-chaos-studio2/)
- mend: [Chaos Meshで何ができるのか見てみた](https://qiita.com/mend/items/dcdfab5e980467bf58e9)
### 社区演讲
- Twain Taylor: [Chaos Mesh 简化并组织 Kubernetes 的混沌工程](https://youtu.be/shbrjAY86ZQ)
- Saiyam Pathak
- [让我们探索 Chaos Mesh](https://youtu.be/kMbTYItsTTI)
- [Chaos Mesh - Kubernetes 的混沌工程](https://youtu.be/HAU_cjW1bMw)
- [Chaos Mesh 2.0](https://youtu.be/HmQ9cFwxF7g)
## 媒体报道
- CodeZine: [オープンソースのカオステストツール「Chaos Mesh 1.0」、一般提供を開始](https://codezine.jp/article/detail/12996)
- @IT atmarkit: [Kubernetes 向けカオスエンジニアリングプラットフォーム「Chaos Mesh 1.0」が公開](https://www.atmarkit.co.jp/ait/articles/2010/09/news108.html)
- Publickey: [Kubernetes の Pod やネットワークをわざと落としまくってカオスエンジニアリングのテストができる「Chaos Mesh」がバージョン 1.0 に到達](https://www.publickey1.jp/blog/20/kubernetespodchaos_mesh10.html)
- InfoQ: [Kubernetes 上的混沌工程:Chaos Mesh v1.0 正式发布](https://www.infoq.com/news/2020/10/kubernetes-chaos-mesh-ga/)
- TechGenix: [Chaos Mesh 承诺为混沌工程带来秩序](http://techgenix.com/chaos-mesh-chaos-engineering/)
## 许可证
Chaos Mesh 基于 Apache License, Version 2.0 许可。完整内容请参阅 [LICENSE](./LICENSE)。
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh?ref=badge_large)
## 商标
Chaos Mesh 是 The Linux Foundation 的商标。保留所有权利。
标签:ASM汇编, Chaos Mesh, DNS解析, Docker, EVTX分析, EVTX分析, Go语言, SRE, 偏差过滤, 压力测试, 子域名突变, 安全防御评估, 容器编排, 容错性, 开源项目, 弹性测试, 持续测试, 故障模拟, 故障注入, 日志审计, 测试平台, 混沌工程, 程序破解, 站点可靠性工程, 系统稳定性, 请求拦截, 运维工具