庆祝 Chaos Mesh 开源一周年:回顾与展望
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

距离 Chaos Mesh 在 GitHub 上开源已过去整整一年。这个项目从最初的故障注入工具起步,如今正朝着构建混沌工程生态的目标迈进。同时,Chaos Mesh 社区也从零开始建立,成功推动 Chaos Mesh 加入 CNCF 成为沙箱项目。
本文将和大家分享 Chaos Mesh 过去一年的成长轨迹,并探讨其未来发展规划。
项目历程:目标明确,茁壮成长
过去一年中,在社区的共同努力下,Chaos Mesh 实现了令人瞩目的高速发展。从首个版本到最新发布的 v1.1.0,项目的功能完备性、易用性和安全性都获得了显著提升。
功能演进
开源初期,Chaos Mesh 仅支持 PodChaos、NetworkChaos 和 IOChaos 三种故障类型。短短一年内,已扩展出覆盖网络、系统时钟、JVM 应用、文件系统和操作系统等领域的全方位故障注入能力。

经过持续优化,Chaos Mesh 现已提供灵活的调度机制,使用户能更高效地设计混沌实验,为混沌编排奠定了坚实基础。
我们欣喜地看到,众多用户开始在主流云平台如 Amazon Web Services (AWS)、Google Kubernetes Engine (GKE)、阿里云和腾讯云上测试 Chaos Mesh。我们持续进行兼容性测试与适配,以支持针对特定云平台的故障注入。
为更好地支持 Kubernetes 原生组件和节点级故障,我们开发了 Chaosd,提供物理节点层级的故障注入能力。该功能正在全面测试与完善中,计划在未来数月内正式发布。
易用性提升
易用性始终是 Chaos Mesh 开发的核心原则。现在仅需单行命令即可完成部署,V1.0 版本推出的 Chaos Dashboard 更是提供了开箱即用的混沌实验编排界面。您可以在统一的可视化界面中定义实验范围、选择故障类型、设置调度规则并观察实验结果——所有操作只需几次点击即可完成。

在 V1.0 之前,许多用户反馈 IOChaos 故障注入常因配置问题受阻。经过深入调研,我们放弃了原有的 SideCar 实现方案,转而采用 chaos-daemon 动态注入目标 Pod 的模式,大幅简化了实现逻辑。这项优化使 Chaos Mesh 具备了动态 I/O 故障注入能力,用户得以专注实验设计,无需再为额外配置分心。
安全性增强
我们显著增强了 Chaos Mesh 的安全性能。现在它提供了一套完整的筛选器机制用于控制实验范围,支持设置特定命名空间来保护关键应用。更重要的是,通过命名空间权限的支持,用户可将混沌实验的"爆炸半径"精确限制在指定命名空间内。
此外,Chaos Mesh 直接复用 Kubernetes 原生权限机制,并在 Chaos Dashboard 上支持权限验证。这有效避免了其他用户的操作失误导致混沌实验失败或失控的风险。
云原生生态:集成与合作
2020年7月,Chaos Mesh 成功入选 CNCF 沙箱项目。这标志着 Chaos Mesh 获得了云原生社区的初步认可,同时也意味着我们肩负起明确使命:推动混沌工程在云原生领域的应用落地,并与其它云原生项目展开深度合作,实现共同成长。
Grafana
为提升混沌实验的可观测性,我们开发了独立的 Grafana 插件,使用户能在应用监控面板直接展示实时混沌实验信息。通过这种方式,用户可以同步观察应用运行状态与当前混沌实验数据。
GitHub Action
为了让用户在开发阶段就能运行混沌实验,我们创建了 chaos-mesh-action 项目,使 Chaos Mesh 能在 GitHub Actions 工作流中运行。这使 Chaos Mesh 能无缝集成到日常系统开发和测试流程中。
TiPocket
TiPocket 是集成了 Chaos Mesh 与 Kubernetes 工作流引擎 Argo 的自动化测试平台,专为分布式数据库 TiDB 打造全自动化的混沌工程测试闭环。混沌实验包含应用部署、负载运行、异常注入和业务校验等多个步骤,TiPocket 通过集成 Argo 实现全流程自动化编排调度,Chaos Mesh 则提供丰富的故障注入能力。

社区建设:从零起步的成长之路
Chaos Mesh 是由社区驱动的项目,其发展离不开活跃、友好、开放的社区环境。开源一年来,Chaos Mesh 迅速成为混沌工程领域最受瞩目的开源项目之一:GitHub 星标数突破 3k,拥有 70+ 贡献者,已被腾讯云、小鹏汽车、Dailymotion、网易伏羲实验室、JuiceFS、APISIX、美团等企业采用。回顾这一年,Chaos Mesh 社区从零起步,逐步建立起透明、开放、友好、自治的开源社区基础。
加入 CNCF 大家庭
云原生基因自始至终深植于 Chaos Mesh 的设计理念。加入 CNCF 是自然选择,这标志着 Chaos Mesh 向厂商中立、开放透明的开源社区迈出关键一步。除了融入云原生技术生态,加入 CNCF 还为 Chaos Mesh 带来:
-
更广泛的项目曝光:通过与其它项目的协作,以及 Kubernetes Meetup、KubeCon 等云原生社区活动,我们获得了宝贵的交流机会。社区输出的高质量内容对 Chaos Mesh 的推广产生了积极深远的影响。
-
更完善的社区框架:CNCF 提供了成熟的开源社区运营框架。在其指导下,我们建立了基础社区框架,包括行为准则、贡献指南和路线图,并在 CNCF Slack 创建了专属频道 #project-chaos-mesh。
友好互助的社区生态
2022-10-24:由于 https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html 政策调整,同时参考 #356,交互式教程暂不可用。
开源社区的质量决定着用户和贡献者是否愿意长期参与社区建设。为此我们持续努力:
-
不断丰富文档体系并优化结构。目前已形成完整的文档矩阵,包含用户手册、开发者指南、快速入门、应用场景和贡献指南,每个版本均保持同步更新
-
与社区共同发布技术博客、教程、案例及混沌工程实践。目前已产出26篇相关文章,其中包含发布于O'Reilly Katakoda平台的
an interactive tutorial,形成文档体系的有效补充 -
复用社区会议、线上分享及meetup产生的视频教程资源,重视并响应社区反馈与咨询
未来展望
近期Google全球服务中断事件再次印证了系统可靠性的重要性,也凸显了混沌工程的核心价值。CNCF TOC主席Liz Rice在2021年五大技术趋势预测中将混沌工程列为首位。我们大胆预见混沌工程即将进入全新发展阶段。Chaos Mesh 2.0版本正在积极开发中,重点实现社区期待的功能:内置工作流引擎支持更灵活的混沌场景编排、应用状态检查机制以及精细化实验报告,具体进展请关注项目路线图
诚邀参与
过去一年Chaos Mesh取得了长足进步,但混沌工程生态建设之路才刚刚启航。我们诚邀各位同行者携手共建混沌工程体系生态!
如果您对Chaos Mesh感兴趣并愿意参与改进,欢迎加入Slack交流频道,或通过GitHub仓库提交PR和issue