创建完成实验场景或演练场景后,即可添加故障。本文以在演练场景添加故障为例,为您介绍应用韧性增强服务所支持的故障类型和添加故障的方法。
云原生 Kubernetes 场景和单机场景所支持的的故障类型有所不同。例如,Kubernetes Pod 维度支持 Pod 故障和 HTTP 故障,不支持主机故障和磁盘故障,具体的区别参见故障说明。
已创建实验场景或演练场景。
如果需要配置中间件故障,需满足以下条件。
中间件 | 支持版本 | 其他限制 |
---|---|---|
Redis | 6.0.0 及其子版本 | Redis 账户的 ACL 列表中包含 admin 类别命令,详情参见 Redis 官网文档。 |
MongoDB | 6.0.0 及其子版本 | MongoDB 账号具备全局权限。 |
ES | 8.0.0 及其子版本 | ES 账号具备全局权限。 |
RabbitMQ | 3.0.0 及其子版本 | 无 |
RocketMQ | 4.5.0 及其子版本 | 无 |
Kafka |
| 无 |
登录演练场景页面。
登录 应用韧性增强服务控制台。
在左侧导航栏,单击 实验管理 > 实验流程。
在 实验流程 页面,单击目标实验流程。
在 实验详情 页面,单击页面右上角的 编辑。
选中目标演练场景,在右侧画布单击 添加故障。
选择故障类型,完成后单击 下一步。
说明
不同故障目标所支持的故障类型可能不同,详细的故障类型说明参见 故障类型 文档中的说明。
配置故障参数。
说明
不同故障对应的故障配置可能不同,详细的故障配置参见 故障配置参数 文档中的说明。
配置故障插件。支持在故障前、故障中、故障后执行自定义脚本,例如,故障执行前可能会需要设置环境变量;故障执行中增加其他故障策略;故障运行后清理环境,满足用户自定义需求。
是否忽略错误:仅对 故障前 插件生效,选择 是 则代表脚本出现错误会自动忽略继续执行。
超时时间:超过一定的时间还未完成,即结束执行。
添加观测配置。混沌工程的一个重要原则是围绕稳态行为进行假设。通过对比实验结果和稳态假设条件,可以量化实验结果。
支持 HTTP 和 自定义 配置方式。
参数 | 说明 |
---|---|
URL | 填写需要调用的 URL 链接。 |
超时时间 | 最长等待时长。 |
方法名 | 选择 HTTP 请求的 Method。 |
Headers | 输入 HTTP 请求的 Header。 |
稳态假设 | 根据 RespCode 或 RespBody,设置稳态假设的阈值。 |
智能暂停 | 开启后,稳态假设没通过则自动停止故障。 |
参数 | 说明 |
---|---|
命令 | 输入自定义的稳态配置命令。 |
执行超时时间 | 设置稳态配置命令执行超时的时长。 |
稳态假设 | 根据命令执行结果,设置稳态假设的阈值。 |
智能暂停 | 开启后,稳态假设没通过则自动停止故障。 |
添加延迟执行。支持添加指定的时长,滞后故障的执行。
单击 确定,完成故障添加。