共计 1913 个字符,预计需要花费 5 分钟才能阅读完成。
2021 年 7 月 23 日,咱们公布了 Chaos Mesh 2.0 GA 版本。Chaos Mesh 2.0 是一个让人兴奋版本,朝着混沌工程闭环生态迈出了松软的一步。
让混沌工程变得更简略始终是 Chaos Mesh 坚韧不拔的指标,构建混沌工程闭环生态是帮忙咱们达成目标的关键步骤。在近一年的不屑致力下,咱们次要在三个方面作出了十分大的改良:易用性,试验的编排与调度以及故障类型的丰盛度。
易用性
咱们始终致力于晋升产品的易用性,在 Chaos Mesh 1.0 GA 时咱们便公布了 Chaos Dashboard,不便用户通过图形化的界面进行混沌试验。在 Chaos Mesh 2.0 中,Chaos Dashboard 带来了较大的改良:
- Chaos Dashboard 反对 AWSChaos GCPChaos 的创立、查看与更新,使云上环境的混沌试验与 kubernetes 环境的混沌试验体验统一;
- 对于每个混沌试验,Chaos Dashboard 当初可能展现每个试验的更多具体事件,让试验的可见性更进一步!
原生的试验编排与调度
在进行混沌试验时,单个混沌试验往往不能满足对故障场景的模仿,而手动管制试验的启停是一件繁琐且危险的事件。之前咱们能够通过 Argo 配合 Chaos Mesh 来主动地管制试验的注入与完结。在 Chaos Mesh 2.0 版本中,咱们 原生退出了 Workflow,反对了场景编排的能力,能够不便地将多个试验串行 / 并行地执行,并可能织入告诉与健康检查,造成简单的试验场景。
之前在定义定期执行的混沌时,仅应用“cron: @every 10s”与“duration: 5s”形容行为并不能满足大家的需要。例如单次执行时常大于执行周期,这种定义是非法的,然而对于预期行为钻研没有适合的形容。咱们参考了 CronJob 的定义引入了新的自定义对象 Schedule,为定期执行的工作退出了更多明确的属性,例如同一时间内是否容许多个试验同时执行,进而束缚行为。
对于定义的更新咱们提供了迁徙工具,帮忙用户迁徙降级,也会随 release 公布。能够参考降级至 Chaos Mesh 2.0 实现从 1.x 到 2.0 版本的降级。
更多的故障类型
Chaos Mesh 曾经反对了如 NetworkChaos,IOChaos,StressChaos 等零碎层面的故障注入,也反对了如 AWSChaos,GCPChaos 这种云服务类型的故障注入。咱们在 Chaos Mesh 2.0 中也退出了应用层的故障注入性能。
JVMChaos
Java 及 Kotlin 等基于 JVM 的语言是在业界中有十分宽泛的援用,通过 JVM 字节码加强以及 javaagent 等技术能够较为轻松的实现 JVMChaos. 目前 Chaos Mesh 借助 chaos-exec-jvm 实现了 JVMChaos,可能进行例如办法提早,返回值批改,内存溢出,抛出异样等利用级别故障注入。能够参考文档模仿 JVM 利用故障理解更多信息。
HTTPChaos
HTTPChaos 是在 2.0 中新反对的 Chaos 类型,它可能在服务侧劫持 HTTP 服务申请与响应,中断链接、注入提早或批改 Header/Body,实用于任何应用 HTTP 作为通信协议的场景。能够参考文档模仿 HTTP 故障理解更多信息。
物理机注入工具 Chaosd
Chaos Mesh 专为 kubernetes 设计,而在物理机环境上,咱们提供了 Chaosd,Chaosd 由 chaos-daemon 演变而来,并针对物理机的特点减少了一些专门的混沌试验性能。反对在物理机上进行过程,网络,JVM,压力,磁盘等不同类型的故障注入。
展望未来
Chaos Mesh 仍在沉闷地开发中,在接下来的几个月里,咱们曾经为 Chaos Mesh布局了更多弱小的性能,包含:
- 运行时注入 JVMChaos,让 JVMChaos 的老本更低,更加不便。
- 插件机制,容许用户构建自定义的混沌试验,同时可能享受 Chaos Mesh 的调度性能。
另外,咱们也发现用户的混沌试验的应用场景是十分贵重的资源,而且好的混沌试验场景可能复用到很多中央。咱们在将来会推出一个平台,容许用户分享本人应用过的混沌试验场景。
疾速体验
你能够在浏览器中关上 https://chaos-mesh.org/interactive-tutorial,应用云上的资源疾速体验 Chaos Mesh 2.0!
致谢
感激所有 Chaos Mesh 的贡献者(https://github.com/chaos-mesh/chaos-mesh/graphs/contributors),Chaos Mesh 从 1.0 到 2.0 的过程中离不开每一位贡献者的致力!
最初欢送大家为 Chaos Mesh 提交 issue 或者参考文档开始提交代码,Chaos Mesh 期待大家的参加和反馈!