关于SegmentFault:2020Chaos-Mesh®-开源第一年扬帆起航的一年

31次阅读

共计 3968 个字符,预计需要花费 10 分钟才能阅读完成。

Chaos Mesh 开源刚刚一周年,这一年来,Chaos Mesh 产品一直迭代成长,从繁多的故障注入工具到当初以构建残缺混沌工程生态为指标继续后退。Chaos Mesh 社区从无到有,一直为 Chaos Mesh 带来新的力量,并胜利帮忙 Chaos Mesh 退出 CNCF 成为沙箱托管我的项目。

在这篇文章中,笔者会从多个方面和大家一起回顾 Chaos Mesh 在这一年中的变动与成长,畅谈一些 Chaos Mesh 将来的指标与打算。

产品:明确指标,茁壮成长

这一年里,Chaos Mesh 在大家独特的致力下在以肉眼可见的速度成长着。从第一个版本,到最近咱们刚刚公布的 1.1
) 版本,无论是性能上,还是易用性,安全性等方面,Chaos Mesh 都有了很大的晋升。

性能方面

刚开源的时候,Chaos Mesh 反对 PodChaos,NetworkChaos 以及 IOChaos, 通过这一年的不断丰富,Chaos Mesh 曾经可能全方位的对网路、工夫、JVM 利用、文件系统、操作系统等进行故障注入。这一年中 Chaos Mesh 共新增 5 类故障类型:

  • StressChaos: 模仿 CPU,Memory 压力场景
  • TimeChaos:模仿时钟偏移
  • DNSChaos:模仿 DNS 服务故障
  • KernelChaos:模仿内核故障
  • JVMChaos:模仿 JVM 利用异样 (Reviewing)

通过这一年的继续优化,Chaos Mesh 提供了更加灵便的调度机制,能够帮忙用户更好的去设计本人的混沌试验,为咱们下一步反对混沌编排性能打下基础。

期间,很多用户开始在各大云平台上应用 Chaos Mesh,比方 AWS,GKE,阿里云,腾讯云等。为了更好的适配各大云平台,咱们也一直的进行兼容性测试与适配,以及反对针对特定云平台的故障注入能力。

此外,为了更好的反对 Kubernetes 原生组件以及节点级别故障,Chaos Mesh 独自开发了 Chaosd 组件,Chaosd 次要目标是提供物理节点级别的故障注入能力,Chaosd 组件还在疾速开发迭代中,欢送大家一起参加进来。

易用性方面

为了可能让用户疾速体验 Chaos Mesh,咱们独自提供了一键装置脚本,用户只须要执行一条命令,就能够在本地疾速地体验 Chaos Mesh。此外,咱们还实现了全新组件 Chaos Dashboard,Chaos Dashboard 极大地简化了治理混沌试验的复杂度,用户能够间接通过可视化界面来治理和监控混沌试验。

此外,很多用户在应用 IoChaos 的时候,常常被各种配置问题阻塞住,这个问题一度困扰了咱们良久,通过屡次调研和探讨,最初咱们放弃 Sidecar 的实现形式,应用 chaos-daemon 动静侵入指标 Pod 命令空间的形式,具体实现细节能够浏览之前分享技术解析文章。通过此次优化,Chaos Mesh 真正实现了动静注入 I/O 故障,用户不再须要额定的配置,只需专一于试验自身。

安全性方面

这一年中,Chaos Mesh 在进步安全性方面同样作出了诸多致力。Chaos Mesh 提供更加欠缺的 Selectors 用来管制试验范畴,反对设置设置特定的 Namespaces 来爱护重要利用。此外,Chaos Mesh 还反对在 Namespace 权限应用,用户能够把 Chaos Mesh 的权限范畴限度在特定某个 Namespace 下,如此一来能够更大程度管制试验的“爆炸半径”,提供更加平安的混沌试验体现。

此外,Chaos Mesh 间接复用 Kubernetes 的原生权限机制,在 Chaos Dashboard 组件上反对身份验证,以防止其余用户的误操作造成混沌试验的失败或者不可控。

生态:不断深入,互帮互助

在这一年,Chaos Mesh 胜利进入 CNCF 沙箱托管我的项目,这象征 Chaos Mesh 失去整个云原生社区的初步认可,这也象征 Chaos Mesh 后续也将承当推动云原生社区倒退的责任,以及推动混沌工程在云原生应用领域上落地。在这一年中 Chaos Mesh 和整个云原生生态相互配合,独特成长。

Grafana

Chaos Mesh 为了进一步提高混沌试验的可观测性,独自开发了 Grafana 插件,不便用户间接将混沌试验的信息展现在本人的监控面板上。用户在 Grafana 上装置了此插件后,能够间接在利用的监控面板上开启混沌试验信息按钮,混沌试验的相干信息会以 Annotations 的形式在以后的面板上展现进去,这样用户就能够在一个界面上同时察看到利用的运行状况以及以后运行的混沌试验信息。

Github Action

为了帮忙用户在开发阶段就运行混沌试验,咱们开发了 chaos-mesh-action 这个我的项目,让 Chaos Mesh 运行在 GitHub Actions 的 workflow 中,让 Chaos Mesh 能够更不便地集成到零碎的日常开发、测试中,为 GitHub 上每一次代码的提交保驾护航。

TiPocket

TiPocket 是一个同时集成 Chaos Mesh 和 Argo 的自动化测试平台,实现齐全自动化的混沌试验。通常咱们进行混沌试验的时候,存在很多步骤,比方部署待测试利用,运行 workload,以及注入异样,业务查看等等,为了让这些步骤齐全的自动化起来,TiPocket 在 Chaos Mesh 的根底上引入了 Argo 工具,一方面 Chaos Mesh 提供丰盛的故障注入能力,另一方 Argo 提供灵便的编排和调度能力。

社区:从无到有,共同进步

Chaos Mesh 是社区驱动的我的项目,我的项目和生态的迭代和演进离不开一个沉闷、敌对、凋谢的社区。开源以来,Chaos Mesh 迅速成为了混沌工程畛域最夺目的开源我的项目之一,并且在短短的一年中,在 Github 上积攒了 3k star,吸引了 70+ 贡献者,以及吸引腾讯、小鹏汽车、Dailymotion、网易伏羲实验室、JuiceFS、APISIX、美团等在内的数十家出名用户。回首这一年,Chaos Mesh 社区从无到有,为创立一个通明、凋谢、敌对,自治的开源社区打下了根底。

退出 CNCF,借力云原生社区

云原生从 Chaos Mesh 创建之初就写在了我的项目的 DNA 里。退出 CNCF 也是 Chaos Mesh 社区在这一年里的重要里程碑之一,也是 Chaos Mesh 走向厂商中立、社区自治、凋谢通明的开源社区的重要一步。除了上文中和云原生的生态的集成,退出 CNCF 对于 Chaos Mesh 社区倒退和欠缺也有很踊跃的促进作用。

  • 更多的社区以及我的项目曝光。通过生态之间的单干、以及各种云原生社区活动如 Kubernetes Meetup,KubeCon 等,咱们也取得了更多与社区分享、交换的机会。社区中一直产生的优质内容也对 Chaos Mesh 的社区品牌流传起到了侧面的促进作用。
  • 更欠缺、凋谢的社区框架。退出 CNCF 的一个重要作用是对开源社区经营的指引和标准。退出 CNCF 时,Chaos Mesh 开源仅半年工夫,是一个绝对年老的社区。在 CNCF 的指引下,咱们欠缺了社区的根本框架,如 Code of Conduct, Contributing Guide, 公开的 RoadMap,在 CNCF 的 Slack 下创立了 #project-chaos-mesh 的频道;同时,社区也从初期就提供了逐步完善的用户和开发文档。

敌对、互助的社区气氛

咱们有一个很有后劲的我的项目,取得 CNCF 的认可,以及一个初步欠缺的社区框架,这具备了一个有吸引力社区的前提条件。可是,如何让用户、贡献者放弃长期、继续参加到社区中,这取决于社区体验和气氛。对于 Chaos Mesh 社区,打造敌对、一站式的上手体验,建设疾速响应、互助的社区气氛是第一年须要重点关注的指标。具体来说,

  • 继续丰盛文档内容,优化文档构造,更新文档信息。目前已造成了蕴含用户文档,开发文档,疾速上手、用户案例文档、奉献指南等在内的面向不同人群的文档体系,并随着版本公布放弃迭代更新。
  • 和社区一起继续公布蕴含 Chaos Mesh 教程、案例分享、混沌工程实际等主题的博客文章。截止本文公布工夫,已累计产生 25 篇 Chaos Mesh 相干文章,以及 1 个公布于 OReilly Katakoda 的入门互动教程,为文档提供了无力补充。
  • 通过社区浏览会议、以及各种会议、meetup 等模式分享视频教程。
  • 作为一个疾速迭代的开源我的项目,Chaos Mesh 社区重视来自社区的反馈、问题的疾速响应。

将来可期

最近 Google 寰球宕机事件再次揭示用户对服务可用性的器重,再次凸显混沌工程的重要性。CNCF 技术委员会主席 Liz Rice 分享 2021 年值得关注的五项技术中,混沌工程赫然在列。大胆预测在将来的一段时间内,混沌工程行将进入一个全新的阶段。

这一年中咱们胜利公布了 1.1 版本,通过一段时间的积攒以及承受用户各种反馈,Chaos Mesh 有了更加明确的指标,朝着构建欠缺的混沌工程生态一直前行。目前咱们正在疾速开发 Chaos Mesh 2.0 版本,在 2.0 中,Chaos Mesh 将引入内嵌的 Workflow 引擎,用来反对定义和治理更加灵便的混沌试验场景,以及引入利用状态查看机制和提供更加欠缺的混沌实验报告。2.0 版本预计会在几个月后公布,并且我的项目的后续打算安顿,咱们会及时在我的项目的 roadmap 上继续更新。

最初

说了这么多,最初也是最重要的,通过这一年致力,Chaos Mesh 一直成长,但仍旧年老,咱们朝着咱们的指标,扬帆起航,在成长的过程中,须要大家独特参加,一起打造欠缺的混沌工程体系生态!

欢送大家退出 Chaos Mesh 社区,退出 Chaos Mesh Slack(#project-chaos-mesh),一起参加到我的项目的探讨与开发中来!大家在应用过程发现 bug 或缺失什么性能,也能够间接在 GitHub 下面提 issue 或 PR。

最初附上 Chaos Mesh 社区考察链接,填写有惊喜哦:https://bit.ly/2LzES5o

正文完
 0