文档中心>智能顾问>操作指南>智能顾问-混沌演练操作指南>故障动作库>容器>集群节点资源(CPU、内存、磁盘)压测故障案例

集群节点资源(CPU、内存、磁盘)压测故障案例

最近更新时间:2025-11-20 15:16:33

我的收藏

背景

容器节点(如 Kubernetes 集群中的工作节点)承载着容器资源,负责运行和管理容器实例。在节点业务 QPS 骤增或者服务内存泄露时,可能导致节点资源利用率增高,从而影响业务甚至导致业务进程被杀死。
为了提高容器服务的可靠性和稳定性,需进行节点故障演练。通过演练,可以验证系统在容器节点出现故障时能否正常运行,提前暴露此故障场景下的一系列问题,以便优化系统架构并做好应急预案。

演练实施

步骤一:演练准备

选择可用的容器节点,添加实例,部署测试服务。若已有可以演练的容器节点,则直接创建演练。
进入探针管理页面为 CVM 节点安装探针,具体安装方式请参考 探针管理 进行操作。

步骤二:创建演练

1. 登录 智能顾问控制台 > 架构治理,进入治理模式,点击混沌演练。(详细创建演练方式请参阅 使用智能顾问进行混沌演练

2. 点击新建演练,填写演练基本信息,完成后点击下一步

3. 在演练实例中,选择容器-标准集群普通节点,选择后点击搜索添加,添加实例资源。亦可通过架构图添加方式,直接点击架构图上的 TKE 资源,选择实例进行添加。

4. 完成添加实例后,点击添加动作,分别在 CPU 资源内存资源磁盘资源分类下,选择 CPU 利用率高、内存利用率高、磁盘使用率高、磁盘 IO 负载故障动作。


5. 根据需要修改动作参数(该演示直接采用默认值进行演练)。
5.1 CPU 利用率高



说明:
cpu 利用率:指定 CPU 负载百分比,取值在0 - 100之间。
持续时间:故障动作持续时间,达到该时间探针会自动将故障恢复。
调度优先级:影响进程在 CPU 调度中的优先级。较低的 nice 值使进程更有可能获得 CPU 时间片,从而提高其执行优先级。仅当利用率为100%时生效。
5.2 内存利用率高



说明:
内存使用率:指定内存负载百分比,取值在0 - 100之间。
持续时间:故障动作持续时间,达到该时间探针会自动将故障恢复。
是否开启 OOM 保护:开启后会降低故障进程被 OOM-KILL 的可能性,优先 Kill 业务进程。
内存占用速率:每秒增加的内存使用量。
5.3 磁盘使用率高



说明:
动作参数说明:
磁盘目录:需要进行填充的磁盘目录,即文件写入目录。
文件大小:填充的文件大小。
磁盘使用率:通过staf命令获取磁盘使用情况,计算出达到指定使用率所需的文件大小。
保留空间:剩余空间保留大小。
持续时间:故障动作持续时间,达到该时间探针会自动将故障恢复。
如果文件大小、磁盘使用率、保留空间参数都存在,优先级计算逻辑为: 磁盘使用率 > 保留空间 > 文件大小。
5.4 磁盘 IO 负载



说明:
磁盘目录:指定提升磁盘 IO 的目录,会作用于其所在的磁盘上。
模式:提供读、写两种方式实施高负载。
块大小:指定每次读取或写入的块大小。
块个数:指定复制的块个数。
持续时间:故障动作持续时间,达到该时间探针会自动将故障恢复。
6. 参数配置完成之后,在全局配置中选择执行方式护栏策略,及添加可观测指标。配置完成后,点击提交,即可完成演练任务创建。


步骤三:执行演练

1. 演练任务创建完成后,自动进行全局环境检测,未通过的环境检测项按提示内容进行操作。

2. 环境检测通过后,点击故障动作组中的执行,或下方开始演练,注入故障。

3. 观察节点监控指标,CPU 利用率达到预设值,并且在到指定时间完成恢复。



4. 执行内存利用率高动作,观察监控指标。



5. 执行磁盘利用率高动作,进入终端使用 df 命令查看使用率。



6. 执行磁盘IO高负载动作,进入终端使用 iostat 命令观察。


说明:
iostat -x 可查看块设备运行状态的详细信息,该动作主要查看 %util 参数,表示设备发出 I/O 请求所用时间的百分比,当接近100%时表示设备带宽利用率几乎达到了其最大容量,使整个磁盘性能下降,严重影响处理其他读写请求。