Chaos Mesh 是一个云原生的混沌测试平台,在去年的最后一天,咱们开源了这个项目,以帮助你们更好的进行混沌实验。从开源到如今近一年的时间里,Chaos Mesh 在全部贡献者的共同努力下,在不断完善新功能的同时,也在易用性和稳定性上取得了阶段性的成果。今天,咱们自豪的宣布 Chaos Mesh 1.0 正式发布!git
Chaos Mesh 1.0 是一个里程碑,不只支持更多混沌注入的类型,提升了框架组件的稳定性,而且增长了 Chaos Dashboard 组件用来改善 Chaos Mesh 的易用性。下面请跟随咱们的脚步梳理 Chaos Mesh 1.0 有什么样的惊喜。github
核心亮点安全
1. 丰富易用的混沌实验类型网络
混沌实验的核心是注入故障,Chaos Mesh 从分布式系统的出发,充分考虑分布式系统可能出现的故障,提供更加全面、细粒度的故障类型,能全方位的帮用户对网络、磁盘、文件系统、操做系统等进行故障注入。同时,使用 Chaos Mesh,不须要应用作任何修改,作到真正的被测试系统无感知。Chaos Mesh 目前支持的故障注入有:框架
2. 简单易用的可视化界面分布式
Chaos Mesh 从用户角度出发,不只能够提供经过 YAML 文件定义混沌实验的方式,还单独开发了 Chaos Dashbaord 组件,提供可视化支持。Chaos Dashboard 极大简化了混沌实验的复杂度,用户能够直接经过可视化界面来管理和监控混沌实验,仅需鼠标点一点就可以定义混沌实验的范围、指定混沌注入类型、定义调度规则,以及在界面上获取到混沌实验的结果等。ide
3. 提供 Grafana 插件支持工具
Chaos Mesh 为了进一步提升混沌实验的可观测性,单独开发了 Grafana 插件,方便用户直接将混沌实验的运行信息展现在本身的监控面板上。用户在 Grafana 上安装了此插件后,能够直接在应用的监控面板上开启混沌实验信息按钮,此时混沌实验的相关信息会以 Annotations 的方式在当前的面板上展现出来,这样用户就能够在一个界面上同时观察到应用的运行状况以及当前运行的混沌实验信息。测试
4. 安全可控的混沌实验spa
当在进行混沌实验的时候,咱们须要严格的控制实验范围,只影响须要测试的应用程序,避免致使总体应用的雪崩。Chaos Mesh 在 1.0 版本中不只提供了丰富的 Selectors 用来控制实验范围,还支持设置被保护的 Namespaces 用来保护重要应用。此外,在 1.0 中 Chaos Mesh 还支持在 Namespace 权限使用,也就是说用户能够在单个 Namespace 下安装 Chaos Mesh 或者是把 Chaos Mesh 的权限范围限制在特定某个 Namespace 下,如此一来能够更大程度控制实验的“爆炸半径”,提供更加安全的混沌实验体现。
快速体验
你们经过 install.sh 安装脚本或者是使用 Helm 工具就能够在本身的 Kubernetes 环境下快速的部署 Chaos Mesh,具体安装步骤能够参考 Chaos Mesh 部署文档。此外社区的小伙伴也贡献了在线 Chaos Mesh 简单教程,想要快速尝试的小伙伴也能够直接按照课程,在线试用,课程地址:https://chaos-mesh.org/intera...。
对于 1.0 GA 以前版本的用户,请参考 1.0 Release Note 了解 1.0 的变动内容和升级指南。
致谢
感谢全部 Chaos Mesh 的贡献者 (https://github.com/chaos-mesh...,Chaos mesh 可以走到 1.0 GA 离不开每一位贡献者的努力!
最后欢迎你们为 Chaos Mesh 提交 issue 或者参考文档开始提交代码,Chaos Mesh 期待你们的参与和反馈!