Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chaos Mesh紹介[中国語]
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
成臣 Chengchen
June 14, 2021
Education
410
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Chaos Mesh紹介[中国語]
Chaos Engineering 2021/06/10 勉強会で発表資料
https://cnt.connpass.com/event/215331/
成臣 Chengchen
June 14, 2021
More Decks by 成臣 Chengchen
See All by 成臣 Chengchen
ゲーム広告でのTiDB活用事例
it2911
0
310
ChaosBlade紹介[中国語]
it2911
0
290
Chaos Engineering 紹介[中国語]
it2911
0
350
EKF日志分析平台架构方案实践
it2911
0
340
AWS云上架构演进
it2911
0
260
Ingress 勉強会: Traefik 2.0
it2911
0
480
F5-NGINX-Ingress勉強会
it2911
0
960
JD.com Blockchain as a Service @ Tokyo in 2019
it2911
0
240
Kubernetes with JUJU
it2911
0
300
Other Decks in Education
See All in Education
オンラインコミュニティ TRY部 体験マニュアル
ytapples613
0
350
Comentario del plano urbano de Madrid hasta 1860 (1ª parte )
juanmartin2026
1
47k
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
260
エビデンスベースト英語教育入門:エビデンスは科学的知見(だけ)ではない,制度だ!
terasawat
0
200
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
アラムコSTEAMチャレンジ 実践報告書
codeforeveryone
0
230
Claudeに作らせた線形代数講義資料(数回分)
take326
0
110
Antigravityを使ってGeminiAPI(NanobananaPro)と連携して挿絵メーカーを作った
yoshimura_datam
0
210
AIの力を100%引き出すために
frievea
0
480
FA26 CLU MS Clinical Psychology New Student Orientation
jdbedics
0
170
2026年度春学期 統計学 第14回 分布についての仮説を検証する ― 仮説検定(1) (2026. 7. 2)
akiraasano
PRO
0
140
SFプロトタイピング体験(滝中学校)
yusk1450
PRO
0
130
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Paper Plane (Part 1)
katiecoart
PRO
1
10k
sira's awesome portfolio website redesign presentation
elsirapls
0
400
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
The Language of Interfaces
destraynor
162
27k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Odyssey Design
rkendrick25
PRO
2
800
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Raft: Consensus for Rubyists
vanstee
141
7.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Fireside Chat
paigeccino
42
4k
Transcript
Chaos Mesh® 介绍
[email protected]
关于我 • 殷成文 • GitHub: cwen0 / Twiitter: @CWenYin •
Infrastructure Engineer • Tech leader of PingCAP Chaos Engineering Team • Founder and Maintainer of Chaos Mesh® • Program Committee Member: KubeCon + CloudNativeCon Europe 2021
背景
一点历史 • 2018~2019:Schrodinger 项目 • 2019.09.04:Chaos Mesh 第一个 Commit •
2019.12.31:开源 • 2020.07.15:正式成为 CNCF Sandbox 项目 • 2020.09.25:1.0 GA 版本 • 2021.06.30:2.0 GA 版本 (待定)
Chaos Mesh:背景 $ kubectl get ns tidb-cluster-1 tidb-cluster-2 tidb-cluster-3 nginx-ns-1
nginx-ns-2 app-ns-1 app-ns-2 ... $crontab -l 0 */2 * * * /usr/local/podkill -n tidb-cluster-1 -n tikv-1 0 */1 * * * /usr/local/podkill -n tidb-cluster-1 -n pd-1 0 */2 * * * /usr/local/network delay -v 20ms -n app-ns-1 -n app-name 0 */2 * * * /usr/local/network delay -v 20ms -n app-ns-2 -n app-name … Kubernetes 环境下 • 一个 Kubernetes 运行多个应用集群 (10+) • 每个 Kubernets 集群包含更多的物理 节 点 • 更多的可能出现异常的对象,例如:容 器 / Pod / 网络 / 磁盘 / 系统时钟 / 内核 所以,我们需要更多的混沌实验!管理和调度 这么多的混沌实验是非常困难的!并且做到 混沌工程闭环就更加困难!
Chaos Mesh:背景 容器环境 • 容器环境是和物理环境存在很大差异 • 很多工具没办法直接使用 ◦ 例如 tc
/ iptables / fuse / bcc 没 办法直接在容器中使用 • 同一个 Node 上容器之间的故障不能相 互影响 故障的范围必须是可控的!
功能预览
核心优势 • 核心能力稳固:Chaos Mesh 起源于 TiDB 的核心测试平台,发布初期即继承了大量 TiDB 已有的 测试经验。
• 被充分验证:Chaos Mesh 被众多公司以及组织所使用,例如腾讯和美团等;同时被用于众多知名 分布式系统的测试体系中,例如 Apache APISIX 和 RabbitMQ 等。 • 系统易用性强:图形化操作和基于 Kubernetes 的使用方式,充分利用了自 动化能力。 • 云原生:Chaos Mesh 原生支持 Kubernetes 环境,提供了强悍的自动化能力。 • 丰富的故障模拟场景:Chaos Mesh 几乎涵盖了分布式测试体系中基础故障模拟的绝大多数场 景。 • 灵活的实验编排能力:用户可以通过平台设计自己的混沌实验场景,场景可包含多个混沌实验编 排,以及应用状态检查等。 • 安全性高:Chaos Mesh 具有多层次安全控制设计,提供高安全性。 • 活跃的社区:Chaos Mesh 为全球知名开源混沌测试平台,CNCF 开源基金会孵化项目。 • 强大的扩展能力:Chaos Mesh 为故障测试类型扩展和功能扩展提供了充分的扩展能力。
• CRD (Custom Resources) 拓展 Kubernetes API 定义 ◦ PodChaos
◦ NetworkChaos ◦ IOChaos ◦ TimeChaos ◦ StressChaos ◦ DNSChaos ◦ KernelChaos ◦ JVMChaos ◦ AWSChaos ◦ GCPChaos ◦ Workflow ◦ ... 声明式 API 定义简化混沌实验管理 apiVersion: pingcap.com/v1alpha1 kind: PodChaos metadata: name: telemetry-failure-example namespace: istio-system spec: action: pod-failure mode: one selector: labelSelectors: "app": "tikv"
可视化界面降低混沌实验成本
丰富的故障类型
编排混沌实验
实现简介
整体架构 基础流程 • 用户输入、观测 • 监听资源变化,进行注入/恢复 • 在具体节点上进行故障注入 核心组件 •
Chaos Dashboard • Chaos Controller Manager • Chaos Daemon
• 使用 kubectl 工具提交 • 使用 Kubernetes Client • 使用
Chaos Dashboard 用户输入、观测
• 监听 PodChaos, NetworkChaos… 等资 源的 创建/更新/删除 • 决定当前该 注入
/ 恢复 / 等待 • 进行简单的注入,比如 PodKill • 向 Chaos Daemon / Sidecar 发送请求 监听资源的变化
*Chaos 如何注入?
• Container 的实体: ◦ 进程 ◦ Namespace 控制可见性 ◦ Cgroup
限制资源 • 注入的实质 ◦ 侵入 Namespace / Cgroup ◦ 进行干扰、注入 隔离 Chaos Daemon 注入原理
Demo
加入社区 CNCF - #project-chaos-mesh https://chaos-mesh.org https://github.com/chaos-mesh @chaos_mesh Channel: Chaos Mesh
Thanks