chaosblade
文章平均质量分 56
故障演练工具chaosblade介绍
alden_ygq
一枚北漂5年多的资深SRE菜鸟,专注SRE方向,专注于运维体系建设。个人宣言:先努力成就自己,再用知识成就他人。
展开
-
chaosblade使用(三十六):blade create k8s container-container
Kubernetes 下 container 资源自身的场景,比如删容器,需要注意,执行容器场景,必须先确定 Pod,所以需要配置 Pod 相关参数。原创 2023-04-13 11:35:28 · 180 阅读 · 0 评论 -
chaosblade使用(三十五):blade create k8s container-process
kubernetes 下 容器内进程场景,同基础资源的进程场景。原创 2023-04-13 11:30:33 · 186 阅读 · 0 评论 -
chaosblade使用(三十四):blade create k8s container-network
kubernetes 下 容器内网络实验场景,同基础资源网络场景,由于同一个 Pod 内的容器共享 Pod 网络,所以效果同对 Pod 网络实验。原创 2023-04-13 11:06:48 · 138 阅读 · 0 评论 -
chaosblade使用(三十三):blade create k8s container-cpu
kubernetes 下 容器内 CPU 负载实验场景,同基础资源的 CPU 场景。原创 2023-04-19 18:37:39 · 175 阅读 · 0 评论 -
chaosblade使用(三十二):blade create k8s pod-network
kubernetes Pod网络相关场景,同基础资源的网络场景。原创 2023-04-13 10:53:12 · 157 阅读 · 0 评论 -
chaosblade使用(三十一):blade create k8s pod-IO
k8s pod文件系统I/O异常场景,可以模拟对指定路径上的文件读写异常,包括延迟,错误等.注意!!!此场景需要激活参数,如需使用此功能,请在 chaosblade-operator 参数中添加,或者在安装时指定,例如 helm 安装时:指定。原创 2023-04-13 10:46:35 · 239 阅读 · 0 评论 -
chaosblade使用(三十):blade create k8s pod-pod
kubernetes Pod 资源自身场景,比如删除 Pod。原创 2023-04-13 10:40:10 · 178 阅读 · 0 评论 -
chaosblade使用(二十九):blade create k8s node-disk
kubernetes 节点磁盘场景,包含磁盘填充和磁盘IO读写高。原创 2023-04-13 10:27:38 · 119 阅读 · 0 评论 -
chaosblade使用(二十八):blade create k8s node-process
kubernetes 节点进程相关场景,同基础资源的进程场景。原创 2023-04-13 09:45:29 · 125 阅读 · 0 评论 -
chaosblade使用(二十七):blade create k8s node-network
kubernetes 节点网络相关场景,同基础资源的网络场景。原创 2023-04-13 09:29:53 · 154 阅读 · 0 评论 -
chaosblade使用(二十六):blade create k8s node-cpu
kubernetes 节点 CPU 负载实验场景,同基础资源的 CPU 场景。原创 2023-04-12 10:10:58 · 190 阅读 · 0 评论 -
chaosblade使用(二十五):blade create k8s
创建 kubernetes 相关的实验场景,除了使用 blade 命令创建场景外,还可以将实验使用 yaml 文件描述,使用 kubectl 命令执行。原创 2023-04-07 18:19:04 · 483 阅读 · 0 评论 -
chaosblade使用(二十四):blade create jvm
指定类方法调用延迟指定类方法的返回值,仅支持基本类型、null 和 String 类型的返回值。编写 java 或者 groovy 脚本实现复杂的故障场景,比如篡改参数、修改返回值、抛自定义异常等。原创 2023-04-05 23:09:15 · 928 阅读 · 3 评论 -
chaosblade使用(二十三):blade prepare jvm
挂载 java agent,执行 java 实验场景必要步骤。原创 2023-04-05 22:53:29 · 331 阅读 · 0 评论 -
chaosblade使用(二十二):blade status
查询混沌实验和混沌实验环境状态,可通过创建的混沌实验的 uid 或命令类型来查询混沌实验。status 可以简写为 s,即可以简写为blade s。原创 2023-04-05 22:42:53 · 316 阅读 · 0 评论 -
chaosblade使用(二十一):blade create docker
容器内 CPU 负载实验场景,同基础资源的 CPU 场景容器内网络实验场景,同基础资源的网络场景。原创 2023-04-05 21:36:18 · 626 阅读 · 0 评论 -
chaosblade使用(二十):blade create script exit
通过指定脚本和函数执行退出场景。原创 2023-04-05 21:24:40 · 69 阅读 · 0 评论 -
chaosblade使用(十九):blade create script delay
通过指定脚本和函数执行延迟场景。原创 2023-04-05 21:24:58 · 103 阅读 · 0 评论 -
chaosblade使用(十八):blade create process stop
此实验会暂停进程。支持命令行或者命令中进程匹配。此实验可以验证程序 Hang 时,系统的容错能力。原创 2023-04-05 21:20:09 · 172 阅读 · 0 评论 -
chaosblade使用(十六):blade create network occupy
本地端口占用,验证端口已被占用的情况下,使用此端口的业务容错能力。原创 2023-04-05 21:14:28 · 162 阅读 · 0 评论 -
chaosblade使用(十五):blade create network duplicate
可以指定网卡、本地端口、远程端口、目标 IP 包重复。需要特别注意,如果不指定端口、ip 参数,而是整个网卡包重复,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉不受影响的端口,两者都是防止机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。本地端口和远程端口之间是或的关系,即这两个端口都会生效,只要指定了本地端口或者远程端口,无需指定需要排除的端口。原创 2023-04-05 21:12:18 · 152 阅读 · 0 评论 -
chaosblade使用(十四):blade create network reorder
可以指定网卡、本地端口、远程端口、目标 IP 包重排。需要特别注意,如果不指定端口、ip 参数,而是整个网卡包重复,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉不受影响的端口,两者都是防止机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。本地端口和远程端口之间是或的关系,即这两个端口都会生效,只要指定了本地端口或者远程端口,无需指定需要排除的端口。原创 2023-04-05 21:07:40 · 159 阅读 · 0 评论 -
chaosblade使用(十三):blade create network corrupt
可以指定网卡、本地端口、远程端口、目标 IP 包损坏。需要特别注意,如果不指定端口、ip 参数,而是整个网卡包损坏,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉的延迟端口,两者都是防止机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。本地端口和远程端口之间是或的关系,即这两个端口都会生效,只要指定了本地端口或者远程端口,无需指定需要排除的端口。原创 2023-04-05 21:04:00 · 167 阅读 · 0 评论 -
chaosblade使用(十二):blade create network drop
可以指定网卡、本地端口、远程端口、目标 IP 丢包。需要特别注意,如果不指定端口、ip 参数,而是整个网卡丢包,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉的丢包端口,两者都是防止因丢包率设置太高,造成机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。本地端口和远程端口之间是或的关系,即这两个端口都会发生丢包,只要指定了本地端口或者远程端口,无需指定需要排除的端口。原创 2023-04-05 20:58:05 · 528 阅读 · 0 评论 -
chaosblade使用(十一):blade create network drop
网络屏蔽实验场景,同网络丢包 100%,后续会使用丢包 100% 替代。两者的区别是底层实现机制不一样,而且网络屏蔽只支持端口,不支持整个网卡,具有局限性,建议使用网络丢包 100% 来替代此命令。原创 2023-04-05 20:53:43 · 159 阅读 · 0 评论 -
chaosblade使用(十):blade create network dns
此实验会修改本地的 hosts,篡改域名地址映射。网络丢包场景主要验证域名解析异常的情况下,系统的自我容错能力。原创 2023-04-05 20:49:39 · 138 阅读 · 0 评论 -
chaosblade使用(九):blade create network delay
可以指定网卡、本地端口、远程端口、目标 IP 延迟。需要特别注意,如果不指定端口、ip 参数,而是整个网卡延迟,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉的延迟端口,两者都是防止因延迟时间设置太长,造成机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。本地端口和远程端口之间是或的关系,即这两个端口都会发生延迟,只要指定了本地端口或者远程端口,无需指定需要排除的端口。原创 2023-04-05 20:46:17 · 569 阅读 · 0 评论 -
chaosblade使用(九):blade create mem load
指定内存占用注意,此场景触发内存占用满,即使指定了 --timeout 参数,也可能出现通过 blade 工具无法恢复的情况,可通过重启机器解决!!!推荐指定内存百分比!由于目前内存大小计算通过 memory.stat 等文件计算,所以和 free 命令计算不一致,同 top 命令一致,验证时请使用 top 命令查看内存使用。后续会针对内存占用场景进行优化。原创 2023-04-04 20:40:09 · 424 阅读 · 1 评论 -
chaosblade使用(八):blade create disk fill
模拟磁盘填充,可以指定填充的目录和填充大小。验证磁盘满下对系统服务的影响,比如监控告警、服务稳定性等。原创 2023-04-04 20:21:44 · 311 阅读 · 0 评论 -
chaosblade使用(七):blade create disk burn
提升磁盘读写 io 负载,可以指定受影响的目录,也可以通过调整读写的块大小提升 io 负载,默认值是 10,单位是 M,块的数量固定为 100,即在默认情况下,写会占用 1000M 的磁盘空间,读会固定占用 600M 的空间,因为读操作会先创建一个 600M 的固定大小文件,预计 3s之内,在创建时写 io 会升高。验证磁盘 io 高负载下对系统服务的影响,比如监控告警、服务稳定性等。原创 2023-04-04 12:08:18 · 513 阅读 · 0 评论 -
chaosblade使用(六):blade create
创建混沌实验命令,每个实验对应一个 uid,后续的查询、销毁实验都要用到此 uid,如果遗忘了 uid,可以通过命令进行查询。create 可以简写为 c,即可以简写为blade c。原创 2023-04-04 09:34:12 · 209 阅读 · 0 评论 -
chaosblade使用(五):blade server
后台启动 blade,会暴露出 web 服务,上层可通过 http 调用,请求格式是 chaosblade?cmd=具体命令,例如执行 CPU 满载,则请求是 chaosblade?原创 2023-04-03 23:11:15 · 231 阅读 · 0 评论 -
chaosblade使用(四):blade create servlet
Java web 请求异常。原创 2023-04-03 23:09:53 · 321 阅读 · 0 评论 -
chaosblade使用(三):blade create cpu load
code 的值等于 200 说明执行成功,其中 result 的值就是 uid。4)指定索引是 0,3 的核满载,核的索引从 0 开始,但最大核数应小于系统实际核数。# 可以看到 CPU 总的使用率达到 60%, 空闲 40%1)创建 CPU 满载实验(cpu所有核均满载)# 使用 top 命令验证结果如下,实验生效。# 使用 top 命令验证结果如下,实验生效。6)指定百分比负载(所有核均达到此阈值)2)4 核都满载,实验生效,销毁实验。5)指定索引 1 到 3 的核满载。3)指定随机两个核满载。原创 2023-04-03 23:07:27 · 475 阅读 · 0 评论 -
chaosblade使用(二):blade version
打印 blade 工具版本信息。version 可以简写为 v,即 blade version 可以简写为 blade v。原创 2023-04-03 23:01:10 · 280 阅读 · 0 评论 -
chaosblade使用(一):blade命令
blade version - 打印 blade 工具版本信息 blade server - server 模式。blade_revoke.md - 撤销混沌实验环境,与 prepare 操作对应。blade_prepare.md - 准备混沌实验环境,部分实验执行前必须执行。blade status - 查询混沌实验和混沌实验环境状态。blade_query.md - 查询部分实验所需的系统参数。blade_destroy.md - 销毁一个混沌实验。blade create - 创建一个混沌实验。原创 2023-04-03 22:55:12 · 1015 阅读 · 0 评论 -
chaosblade安装部署
【代码】chaosblade安装部署。原创 2023-04-03 22:41:43 · 666 阅读 · 0 评论 -
chaosblade混沌工程工具入门
ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具。原创 2023-04-03 22:49:29 · 597 阅读 · 0 评论