Chaos Mesh是什么?它是一个云原生的混沌测试平台,它提供在 Kubernetes 平台上进行混沌测试的能力,最近在逛github的时候看见了混沌测试技术,自己本身也是一名测试工作者,好奇中就研究了一下混沌工程相关知识。
我个人习惯学习新知识首先要知道它的工作原理,那么 接下来我们首先看一下Chaos Mesh 的工作原理
1.Controller-manager 目前 controller-manager 可以分为两部分,一部分 controllers 用于调度和管理 CRD 对象实例,另一部分为 admission-webhooks 动态的给 Pod 注入 sidecar 容器。
2.Chaos-daemon Chaos-daemon 以 daemonset 的方式运行,并具有 Privileged 权限,Chaos-daemon 可以操作具体 Node 节点上网络设备以及 Cgroup 等。
3.Sidecar Sidecar contianer 是一类特殊的容器,由 admission-webhooks 动态的注入到目标 Pod 中,目前在 Chaos Mesh 中实现了 chaosfs sidecar 容器,chaosfs 容器内会运行 fuse-daemon,用来劫持应用容器的 I/O 操作。
接着看一下Chaos Mesh的工作流程
- 用户通过 YAML