跳至主内容

庆祝 Chaos Mesh 开源一周年:回顾与展望

· 1 分钟阅读
Chaos Mesh Authors
All maintainers of Chaos Mesh
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

庆祝 Chaos Mesh 开源一周年:回顾与展望
庆祝 Chaos Mesh 开源一周年:回顾与展望

距离 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 则提供丰富的故障注入能力。

TiPocket
TiPocket

社区建设:从零起步的成长之路

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