Chaos Mesh 是一个云原生的混沌测试平台,在去年的最初一天,咱们开源了这个我的项目,以帮忙大家更好的进行混沌试验。从开源到当初近一年的工夫里,Chaos Mesh 在所有贡献者的共同努力下,在不断完善新性能的同时,也在易用性和稳定性上获得了阶段性的成绩。 明天,咱们骄傲的发表 Chaos Mesh 1.0 正式公布!
Chaos Mesh 1.0 是一个里程碑,不仅反对更多混沌注入的类型,进步了框架组件的稳定性,并且减少了 Chaos Dashboard 组件用来改善 Chaos Mesh 的易用性。上面请追随咱们的脚步梳理 Chaos Mesh 1.0 有什么样的惊喜。
外围亮点
1. 丰盛易用的混沌试验类型
混沌试验的外围是注入故障,Chaos Mesh 从分布式系统的登程,充分考虑分布式系统可能呈现的故障,提供更加全面、细粒度的故障类型,能全方位的帮用户对网络、磁盘、文件系统、操作系统等进行故障注入。同时,应用 Chaos Mesh,不须要利用做任何批改,做到真正的被测试零碎无感知。Chaos Mesh 目前反对的故障注入有:
- pod-kill:模仿 Kubernetes Pod 被 kill。
- pod-failure:模仿 Kubernetes Pod 继续不可用,能够用来模仿节点宕机不可用场景。
- container-kill:模仿 Container 被 kill。
- network-latency:模仿网络提早。
- network-loss:模仿网络丢包。
- network-duplication:模仿网络包反复。
- network-corrupt:模仿网络包损坏。
- network-partition:模仿网络分区。
- cpu-burn:模仿 CPU 压力。
- memory-burn:模仿 Memory 压力。
- clock-skew:模仿时钟偏移。
- io-latency:模仿文件系统 I/O 提早。
- io-fault:模仿文件系统 I/O 谬误。
- io-attribution-override:模仿文件异样。
- kernel-injection: 模仿内核故障。
2. 简略易用的可视化界面
Chaos Mesh 从用户角度登程,不仅能够提供通过 YAML 文件定义混沌试验的形式,还独自开发了 Chaos Dashbaord 组件,提供可视化反对。Chaos Dashboard 极大简化了混沌试验的复杂度,用户能够间接通过可视化界面来治理和监控混沌试验,仅需鼠标点一点就可能定义混沌试验的范畴、指定混沌注入类型、定义调度规定,以及在界面上获取到混沌试验的后果等。
3. 提供 Grafana 插件反对
Chaos Mesh 为了进一步提高混沌试验的可观测性,独自开发了 Grafana 插件,不便用户间接将混沌试验的运行信息展现在本人的监控面板上。用户在 Grafana 上装置了此插件后,能够间接在利用的监控面板上开启混沌试验信息按钮,此时混沌试验的相干信息会以 Annotations 的形式在以后的面板上展现进去,这样用户就能够在一个界面上同时察看到利用的运行状况以及以后运行的混沌试验信息。
4. 平安可控的混沌试验
当在进行混沌试验的时候,咱们须要严格的管制试验范畴,只影响须要测试的应用程序,防止导致整体利用的雪崩。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 期待大家的参加和反馈!