CNCF 技术监督委员会(TOC)已经投票接受 Chaos Mesh 作为 CNCF 的孵化项目。
Chaos Mesh[1]最初是作为开源分布式数据库 TiDB 的测试平台创建的,它是个通用的混沌工程平台,在 Kubernetes 环境中协调混沌实验。通过帮助识别潜在的故障点,它有助于确保 Kubernetes 基础设施能够承受意外的中断。
自 2020 年 7 月被 CNCF 沙箱接受以来,Chaos Mesh 已经发布了两个主要版本(v1.0 和 v2.0)和 30 个小版本,这在可观察性、功能和安全性方面带来了显著的改进。一些亮点功能包括:
超过 50 个组织已经采用了 Chaos Mesh 来测试和提高他们的分布式系统的弹性。采用者包括字节跳动、DataStax、Percona、保诚、网易伏羲、RabbitMQ、SHAREit、小鹏汽车等。此外,微软 Azure Chaos Studio 等云提供商已经将集成了 Chaos Mesh[2]到他们的 SaaS 解决方案中,允许用户将故障注入到 AKS 集群中。其中许多公司[3]也为该项目做出了贡献。
“事实上,基于 Kubernetes CRD 的 Chaos Mesh 已经为该项目提供了一个良好的开端。”网易伏羲[4]高级质量保证工程师 Hui Zhang 表示:“它提供了细粒度的混沌支持,一个统一的 UI——混沌仪表板,以及增强的可观察性和精确的混沌范围控制。所有这一切都是由一个开放、合作和充满活力的社区推动的。”
“Chaos Mesh 提供了丰富的故障模拟方法,帮助基础设施团队提前验证高可用性、网络流量损失和双向同步等场景,这有助于挖掘解决方案的缺陷,降低风险。”小鹏汽车首席工程师 Hengliang Tan 表示:“它还可以帮助我们的团队降低测试成本。”
我们创建 Chaos Mesh 的任务很简单——让混沌工程变得更简单,这样复杂的系统就可以变得有弹性。”Chaos Mesh 维护者和联合创始人 Cwen Yin 说:“社区和生态系统的力量对于实现这一目标至关重要。我们很高兴看到 Chaos Mesh 成为一个孵化项目。CNCF 是云原生生态系统的驱动力,在社区的支持和指导下,将帮助我们进一步发展混沌工程。”
Chaos Mesh 采用 Kubernetes 架构,使用 Kubernetes 的 Custom Resource Definitions(CRD)来定义混沌对象。它还可以与其他云原生项目紧密集成,如 Argo、Grafana 和 Prometheus,使混沌的体验更易于管理、可定制和可观察。
“没有一种云原生部署是完美的——失败总是会发生,所以使用混沌工程建立弹性文化可以节省组织的时间和金钱。”CNCF CTO Chris Aniszczyk 说:“我们非常兴奋地看到 Chaos Mesh 能够作为一个孵化项目成长,并带动混沌和弹性工程领域的发展。”
Chaos Mesh 有一个完整的路线图[6],团队正在积极地添加新特性和功能,同时改善整体的混沌体验。该团队正在努力提供有效的状态验证机制和报告功能,以增强易用性和可观察性。工作流引擎的不断优化将使用户使用 Chaos Mesh 实现一个完整的混沌工程循环。丰富所支持的故障类型,以尽可能多地覆盖云原生系统中的实际故障,这将提高功能和可伸缩性。此外,该团队还将提供一种插件机制,允许用户自由扩展自己的故障类型,并向 Chaos Mesh 发布自己的插件和混沌场景。
作为一个由 CNCF 托管的项目,Chaos Mesh 是一个中立的基金会的一部分,该基金会与它的技术利益相一致,同时也是一个更大的 Linux 基金会的一部分,该基金会提供治理、营销支持和社区拓展服务。Chaos Mesh 加入孵化器技术 Argo、Buildpacks、CloudEvents、CNI、Contour、Cortex、CRI-O、Dragonfly、emissary-ingress、Falco、Flux、gRPC、KEDA、KubeEdge、LitmusChaos、Longhorn、NATS、Notary、OpenTelemetry、Operator Framework、Rook、SPIFFE、SPIRE,和 Thanos,欲了解每个级别成熟度需求的更多信息,请访问CNCF 毕业标准[7]。
[1]Chaos Mesh: https://chaos-mesh.org/
[2]集成了 Chaos Mesh: https://docs.microsoft.com/en-us/azure/chaos-studio/chaos-studio-tutorial-aks
[3]许多公司: https://chaosmesh.devstats.cncf.io/d/21/prs-authors-companies-table?orgId=1
[4]网易伏羲: https://fuxi.163.com/about/
[5]Chaos Daemon: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
[6]路线图: https://github.com/chaos-mesh/chaos-mesh/blob/master/ROADMAP.md
[7]CNCF 毕业标准: https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc