跳至主内容

Chaos Mesh 1.0:让 Kubernetes 混沌工程更简单

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

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

Chaos-Mesh-1.0 - Kubernetes 混沌工程更简单
Chaos-Mesh-1.0 - Kubernetes 混沌工程更简单

今天,我们自豪地宣布 Chaos Mesh 1.0 正式发布。此前该项目已于 2020 年 7 月成为 CNCF 沙箱项目

Chaos Mesh 1.0 是项目发展的重要里程碑。经过开源社区 10 个月的努力,Chaos Mesh 已在功能性、可扩展性和易用性方面达到成熟标准。以下是主要亮点。

强大的混沌支持

Chaos Mesh 起源于分布式数据库 TiDB 的测试框架,因此充分考虑了分布式系统可能出现的故障。它提供全面且细粒度的故障类型,覆盖 Pod、网络、系统 I/O 和内核层。混沌实验通过 YAML 定义,操作便捷高效。

Chaos Mesh 1.0 支持以下故障类型:

  • clock-skew:模拟时钟偏移

  • container-kill:模拟容器被终止

  • cpu-burn:模拟 CPU 压力

  • io-attribution-override:模拟文件异常

  • io-fault:模拟文件系统 I/O 错误

  • io-latency:模拟文件系统 I/O 延迟

  • kernel-injection:模拟内核故障

  • memory-burn:模拟内存压力

  • network-corrupt:模拟网络数据包损坏

  • network-duplication:模拟网络数据包重复

  • network-latency:模拟网络延迟

  • network-loss:模拟网络丢包

  • network-partition:模拟网络分区

  • pod-failure:模拟 Kubernetes Pod 持续不可用

  • pod-kill:模拟 Kubernetes Pod 被终止

可视化混沌编排

Chaos Dashboard 组件为 Chaos Mesh 用户提供一站式 Web 界面来编排混沌实验。此前该功能仅用于测试 TiDB,而 Chaos Mesh 1.0 使其全面开放。Chaos Dashboard 大幅简化了混沌实验的复杂度,只需几次点击即可在同一个 Web 界面中:定义实验范围、指定混沌注入类型、配置调度规则并观察实验结果。

混沌仪表盘
混沌仪表盘

Grafana 插件增强可观测性

为提升混沌实验的可观测性,Chaos Mesh 1.0 内置 Grafana 插件,可直接在应用监控面板展示实时混沌实验信息。当前实验数据以注释形式呈现,使您能同步观察应用运行状态与混沌实验信息。

Grafana 上的混沌状态与应用状态
Grafana 上的混沌状态与应用状态

安全可控的混沌实验

在进行混沌实验时,严格控制混沌范围(或称"爆炸半径")至关重要。Chaos Mesh 1.0 不仅提供了丰富的选择器来精确控制实验范围,还支持设置受保护的命名空间(Namespace)以守护关键应用。您还可以通过命名空间权限将 Chaos Mesh 的作用域限制在特定命名空间内。这些特性共同确保了混沌实验的安全可控性。

立即体验

备注

2022-10-24:由于 https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html 政策调整,同时参考 #356,交互式教程暂不可用。

您可以通过 install.sh 脚本或 Helm 工具在 Kubernetes 环境中快速部署 Chaos Mesh。具体安装步骤请参阅 Chaos Mesh 入门指南文档。此外,得益于 Katakoda interactive tutorial,您无需部署即可快速上手体验 Chaos Mesh。

如果您尚未升级至 1.0 GA 版本,请参考 1.0 版本说明了解变更内容和升级指南。

致谢

感谢所有 Chaos Mesh 的贡献者

如果您对 Chaos Mesh 感兴趣,欢迎通过提交 issue、贡献代码、文档或技术文章加入我们。我们热切期待您的参与和反馈!