blade create k8s node-cpu

介绍

kubernetes 节点 CPU 负载实验场景,同基础资源的 CPU 场景

命令

支持 CPU 场景命令如下:
    blade create k8s node-cpu load,节点 CPU 负载场景,同 [blade create cpu load](blade create cpu load.md)

参数

除了上述基础场景各自所需的参数外,在 kubernetes 环境下,还支持的参数如下:
1
--evict-count string 限制实验生效的数量
2
--evict-percent string 限制实验生效数量的百分比,不包含 %
3
--labels string 节点资源标签
4
--names string 节点资源名,多个资源名之间使用逗号分隔
5
--kubeconfig string kubeconfig 文件全路径(仅限使用 blade 命令调用时使用)
6
--waiting-time string 实验结果等待时间,默认为 20s,参数值要包含单位,例如 10s,1m
Copied!

案例

面以指定一台节点,做 CPU 负载 80% 实验举例。
yaml 配置方式
1
apiVersion: chaosblade.io/v1alpha1
2
kind: ChaosBlade
3
metadata:
4
name: cpu-load
5
spec:
6
experiments:
7
- scope: node
8
target: cpu
9
action: fullload
10
desc: "increase node cpu load by names"
11
matchers:
12
- name: names
13
value:
14
- "cn-hangzhou.192.168.0.205"
15
- name: cpu-percent
16
value:
17
- "80"
Copied!
例如配置好文件后,保存为 chaosblade_cpu_load.yaml,使用以下命令执行实验场景:
1
kubectl apply -f chaosblade_cpu_load.yaml
Copied!
可通过以下命令查看每个实验的执行状态:
1
kubectl get blade cpu-load -o json
Copied!
更多的实验场景配置事例可查看: https://github.com/chaosblade-io/chaosblade-operator/tree/v0.0.1/examples
blade 命令执行方式 下载 chaosblade 工具包,下载地址:https://github.com/chaosblade-io/chaosblade/releases/tag/v0.4.0-alpha ,解压即可使用。还是上述例子,使用 blade 命令执行如下:
1
blade create k8s node-cpu fullload --names cn-hangzhou.192.168.0.205 --cpu-percent 80 --kubeconfig ~/.kube/config
Copied!
使用 blade 命令执行,如果执行失败,会返回详细的错误信息;如果执行成功,会返回实验的 UID,使用查询命令可以查询详细的实验结果:
1
blade query k8s create <UID>
Copied!

修改实验

yaml 配置文件的方式支持场景动态修改,比如将上述的 cpu 负载调整为 60%,则只需将上述 value 的值从 80 改为 60 即可,例如:
1
apiVersion: chaosblade.io/v1alpha1
2
kind: ChaosBlade
3
metadata:
4
name: cpu-load
5
spec:
6
experiments:
7
- scope: node
8
target: cpu
9
action: fullload
10
desc: "increase node cpu load by names"
11
matchers:
12
- name: names
13
value:
14
- "cn-hangzhou.192.168.0.205"
15
- name: cpu-percent
16
value:
17
- "60"
Copied!
然后使用 kubeclt apply -f chaosblade_cpu_load.yaml 命令执行更新即可。

销毁实验

可以通过以下三种方式停止实验: 根据实验资源名停止 比如上述 cpu-load 场景,可以执行以下命令停止实验
1
kubectl delete chaosblade cpu-load
Copied!
通过 yaml 配置文件停止 指定上述创建好的 yaml 文件进行删除,命令如下:
1
kubectl delete -f chaosblade_cpu_load.yaml
Copied!
通过 blade 命令停止 此方式仅限使用 blade 创建的实验,使用以下命令停止:
1
blade destroy <UID>
Copied!
是执行 blade create 命令返回的结果,如果忘记,可使用 blade status --type create 命令查询

常见问题

其他问题参考 [blade create k8s](blade create k8s.md) 常见问题
Last modified 4d ago