Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【云顾问-混沌】Pod/Node CPU 故障注入

【云顾问-混沌】Pod/Node CPU 故障注入

原创
作者头像
冷淡然
修改于 2024-03-15 04:04:47
修改于 2024-03-15 04:04:47
3840
举报

1. 介绍

在复杂的分布式系统中,为了验证服务质量、监控告警、流量调度、弹性伸缩等能力,我们需要模拟不同的故障场景。本文将介绍如何使用混沌工具对 Pod/Node 进行 CPU 负载故障注入,以达到指定的 CPU 负载百分比。

2. 参数

在进行 CPU 负载故障注入时,我们可以通过以下参数来控制:

  • nice:指定 CPU 负载进程的 nice 值(静态优先级),取值范围为[-20, 19]。仅当 cpuPercent 值为 100% 时生效。此参数为可选,>= v1.3.7 版本支持。
  • duration:自动恢复时长,到达时间后会自动销毁故障。单位是秒。通用参数,默认值为 60。
  • nice:指定 CPU 负载进程的 nice 值(静态优先级),取值范围为[-20, 19]。仅当 cpuPercent 值为 100% 时生效。此参数为可选。
  • duration:自动恢复时长,到达时间后会自动销毁故障。单位是秒。通用参数,默认值为 60。

3. 案例

3.1 使所有 CPU 核负载达到 80%
代码语言:bash
AI代码解释
复制
./chaos-executor attack --target cpu --action burn --flags "percent=80;duration=100"
3.2 使指定的 CPU 核(如 1,3)负载达到 100%
代码语言:bash
AI代码解释
复制
./chaos-executor attack --target cpu --action burn --flags "core-list=1,3;duration=100"

4. 实现原理

混沌工具在进行 CPU 负载故障注入时,主要通过以下方式实现:

  1. 启动 chaos_burncpu 进程,空跑 for 循环来消耗 CPU 时间片。
  2. 配置参数 core-list 时,对每个核绑定一个进程消耗 CPU 时间片。
  3. nice 参数(通过 man nice 了解 nice 意义)仅在 percent 参数设置为 100% 时生效,用于修改 chaos_burncpu 的调度优先级。当设置为负数时,表示会提升 chaos_burncpu 的调度优先级,从而实现模拟 CPU 抢占功能。

5. 验证故障生效

我们可以通过以下命令查看 CPU 负载情况,以验证故障是否生效:

  • 物理机:通过 top 命令查看 CPU 负载情况。CPU 使用率 = 100 - CPU 空闲比例(idle)。

docker stats:查看容器 CPU 使用情况。

crictl stats:查看容器 CPU 使用情况。

kubectl top:查看容器 CPU 使用情况。

通过以上方法,我们可以轻松地对 Pod/Node 进行 CPU 负载故障注入,从而验证系统在不同负载下的表现,以及监控告警、流量调度、弹性伸缩等能力。

使用腾讯云混沌演练平台实施 CPU 高负载。故障实现原理是预先在混沌演练平台探针管理处安装腾讯自研 Agent 探针。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【云顾问-混沌】Pod/Node 内存高负载故障注入
在复杂的分布式系统中,为了验证服务质量、监控告警、流量调度、弹性伸缩等能力,我们需要模拟不同的故障场景。本文将介绍如何使用混沌工具对 Pod/Node 进行内存负载故障注入,以达到指定的内存占用百分比。腾讯云混沌演练平台故障动作:标准集群 Pod/普通节点-内存利用率高。
冷淡然
2024/01/29
2900
【云顾问-混沌】Pod/Node 内存高负载故障注入
云顾问混沌演练平台:如何精准实现容器负载类故障注入?
随着云原生技术的迅猛发展,越来越多企业选择容器化应用以实现高效和灵活的系统部署。然而,容器环境复杂且多样,系统负载问题成为影响业务稳定性的关键因素之一。腾讯云云顾问混沌演练平台应运而生,通过精准的负载类故障注入,帮助企业提前发现并解决问题,提升系统稳定性。
blueszzhang
2025/05/20
1520
卷死同行之混沌工程ChaosBlade详解
ChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具。 定义:混沌工程是一门对系统进行实验的学科,旨在了解系统对应生产环境的各种混乱状况的能力,建立对系统的信心。所有系统的用户都希望系统具备可靠性,但影响可靠性的因素有很多。混沌工程师能找到证据,指明那些异常但不可回避的状况下系统的应变情况。
IT运维技术圈
2022/10/24
6.1K1
云原生落地实践
d. 风险控制:测试没问题,再上线,环境依次是,work --> test --> ut --> prod 灰度 --> prod 全量;做好回滚虚拟机的应急方案
SRE运维进阶之路
2023/12/04
2690
【云顾问-混沌】CPU 高负载故障演练
服务器 CPU 负载的异常升高往往会导致服务响应时长增加、任务堆积甚至系统假死、服务中断等问题。因此,稳定和高性能的服务器对于业务的顺利运行至关重要。然而,在日常的服务运维过程中,CPU 高负载却是非常常见的一种故障场景。引起 CPU 高负载的原因也多种多样,以下列举一些常见的原因:
冷淡然
2024/01/09
3170
【云顾问-混沌】CPU 高负载故障演练
混沌工程工具:chaosblade在服务器上注入项原理分析(3)
前面文章,分析了chaos-mesh在服务器上注入项的原理,本文继续分析chaosblade在服务器上注入项原理,实际他们的思路还是比较一致的,只是实现的路径不太一样。
AIOPS
2023/10/03
1.2K1
蚂蚁开源的云原生混沌工程平台 - ChaosMeta
ChaosMeta 是蚂蚁集团开源的一款云原生混沌工程平台。它凝聚了蚂蚁集团在公司级大规模红蓝攻防演练实践中多年积累的方法论、技术以及产品。由“风险目录”(内部对各领域技术组件的通用风险场景手册)作为理论指导,结合技术实践,为蚂蚁集团多年的各种大促活动保驾护航。
我是阳明
2023/11/27
1.6K0
蚂蚁开源的云原生混沌工程平台 - ChaosMeta
【云顾问-混沌演练】乐元素 x 腾讯云混沌演练平台:游戏业务同城双活改造最佳实践
乐元素是国内休闲益智游戏领域领航企业。为了给用户提供更稳定可靠的使用体验,在2023年Q2开始,乐元素运维、业务团队联合腾讯云售后专家和技术专家,基于针对乐元素旗下休闲游戏产品《开心消消乐》展开同城双活改造项目,目的是了解并改善业务容灾部署状况,进一步强化云上业务系统的容灾能力。
ainsley@tencentcloud
2024/01/29
5770
【云顾问-混沌演练】欢乐互娱:新游上线混沌演练实践
欢乐互娱(上海)科技股份有限公司(以下简称“欢乐互娱”),是一家全球游戏研发和发行公司,聚焦于MMORPG和MMOACT两大品类,成功出品了众多知名游戏如《街机三国》、《龙之谷》和《英雄杀》等。2023年4月,欢乐互娱重磅新游大作《RO仙境传说》计划在东南亚发行,该项目开服规模大、影响用户范围广,做好游戏上线前的容灾准备以保障上线后的稳定性至关重要。
四方.
2023/09/13
9150
【云顾问-混沌演练】欢乐互娱:新游上线混沌演练实践
混沌工程:通过试错的方法来提升稳定性
2008 年 Netflix 在整体微服务化和数据中心迁移至 AWS 云的背景下,开始了在生产环境进行系统弹性的测试。最早为大家熟知的是 Chaos Monkey,一个在生产环境中随机选择并关闭服务节点的工具。它的名字来源于其工作的方式:如同一只野生、武装的猴子,释放到在数据中心,来造成严重的破坏。
butterfly100
2021/07/16
1.2K0
混沌工程:通过试错的方法来提升稳定性
【云顾问-混沌演练】阅文游戏:新游上线混沌演练实践
阅文集团是一家以数字阅读为基础,IP培育与开发为核心的综合性文化产业集团。集团汇聚了强大的创作者阵营、丰富的作品储备,覆盖200多种内容品类,触达数亿用户,已成功输出《斗罗大陆》《斗破苍穹》《鬼吹灯》《盗墓笔记》《琅琊榜》《庆余年》等网文IP改编的动漫、影视、游戏等多业态产品。
怡然自得
2024/05/29
4410
【云顾问-混沌演练】阅文游戏:新游上线混沌演练实践
混沌工程和故障演练
混沌工程是近年来新出现的概念,主要用于稳定性方面的研究,英文全称为chaos engineering,由网飞公司最先提出。因为最开始混沌工程称作chaos monkey,形容就像有一只猴子在系统中捣乱一样,以至于到现在每次提到混沌工程都会用一只捣乱的猴子来比喻。
FunTester
2023/08/04
7580
混沌工程和故障演练
银行核心背后的落地工程体系丨混沌测试的场景设计与实战演练
与集中式架构相比,分布式架构的系统复杂性呈指数级增长,混沌工程在信创转型、分布式架构转型、小机下移等过程中有效保障了生产的稳定性。本文分享了 TiDB 分布式数据库在银行核心业务系统落地中进行混沌测试的场景设计和实践。
PingCAP
2024/05/15
1990
Linux应用性能分析及故障排查
CPU使用率:CPU的使用率 平均负载:单位时间内的活跃线程数 用户时间:CPU在用户进程上的实际百分比 系统时间:CPU在内核上花费的实际百分比 空闲时间:系统处于在等待IO操作上的时间总和 等待:CPU花费在等待IO操作上的时间总和 Nice时间:CPU优先执行的时间百分比
lyb-geek
2021/12/04
1.3K0
Linux应用性能分析及故障排查
【云顾问-混沌演练】精细演练,稳定云端——腾讯云助阵金蝶云,守护小微业务稳定高可用
为了给客户提供更优质、更可靠的服务,金蝶业务团队从2022年开始,就已经在腾讯云售后专家的协助下,陆续对业务系统完成双活改造。改造完成后,业务团队通过腾讯云混沌演练平台进行故障注入,以检验业务系统的容灾效果,从而提升业务系统韧性。本次演练主要针对金蝶小微业务线(精斗云&KIS云),涉及10大业务故障场景,是财务、新零售、电商等领域行业提高系统可用性的一次最佳实践。
Isainsley
2024/02/02
2980
【云顾问-混沌演练】精细演练,稳定云端——腾讯云助阵金蝶云,守护小微业务稳定高可用
K8S故障注入混沌工程开源平台ChaosMesh
Chaos Mesh 是针对K8S的云原生混沌工程开源平台。 可以用它方便地模拟开发、测试、生产环境中可能出现的各种异常情况,发现系统中潜在的问题。
程序员吾真本
2023/08/15
3770
K8S故障注入混沌工程开源平台ChaosMesh
混沌工程在工商银行的探索实践 | Q推荐
混沌工程是一种提高技术架构弹性能力的复杂技术手段,旨在将故障扼杀在襁褓之中,也就是在故障造成中断之前将它们识别出来。通过主动制造故障,测试系统在各种压力下的行为,识别并修复故障问题,避免造成严重后果。
深度学习与Python
2021/06/08
1K0
混沌工程在工商银行的探索实践 | Q推荐
故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus
Litmus 最初是 OpenEBS(K8S下存储系统) 的测试工具,后来发展成为知名的 Kubernetes 原生混沌工程开源平台。
程序员吾真本
2023/08/15
6190
故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus
混沌故障演练如何尽可能保障生产环境不被破坏
首先,我们要明确的是:混沌工程本身原则就是通过不断试错的方法来管理风险。实践证明,避免失败的最好办法就是经常失败。通过主动破坏自身环境,来发现系统的弱点。频繁的故障演练使开发团队能从问题中学习经验,从而对服务集群的稳定性有更高的重视。
我是阳明
2023/08/25
6861
混沌故障演练如何尽可能保障生产环境不被破坏
混沌工程介绍与实践
在分布式系统架构下,服务间的依赖日益复杂,很难评估单个服务故障对整个系统的影响,并且请求链路长,监控告警的不完善导致发现问题、定位问题难度增大,同时业务和技术迭代快,如何持续保障系统的稳定性和高可用性受到很大的挑战。我们知道发生故障的那一刻不是由你来选择的,而是那一刻来选择你,你能做的就是为之做好准备。所以构建稳定性系统很重要的一环是混沌工程,在可控范围或环境下,通过故障注入,来持续提升系统的稳定性和高可用能力。
CNCF
2021/05/27
1.8K0
混沌工程介绍与实践
推荐阅读
相关推荐
【云顾问-混沌】Pod/Node 内存高负载故障注入
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档