news 2026/5/1 12:03:44

Docker- 故障注入(混沌工程)测试(简单过程阐述)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker- 故障注入(混沌工程)测试(简单过程阐述)

文章目录

  • 容器的故障注入测试
    • 1. 启动一个nginx容器
    • 2. 切换到容器的网络命名空间
    • 3. 进行故障注入
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

容器的故障注入测试

1. 启动一个nginx容器

dockerrun --name=nginx -d

使用docker inspect命令查询当前容器的 PID

dockerinspect

2. 切换到容器的网络命名空间

目前看业务需要测试什么空间,可以选择,这里以切换到网络命名空间为例;

使用nsenter -t [pid] -n 切换到容器的网络名称空间
【注】
1.nsenter中的ns就是namespace
2.切换后,只有网络命名空间在容器网络中
3.仅切换网络视角,看到容器的网络设备信息,其他资源(如文件系统、进程列表)仍然是宿主机的,因为你只进入了 -n(网络命名空间),没进其他 namespace。

# 根据pid切换到网络命名空间,这里pid是5131nsenter -t5131-n# 查看网络设备信息,只能查看容器的网络设备信息ifconfig# 查看其他进程信息, ps aux 显示的是整个宿主机的所有进程psaux

【重点】切换某个命名空间成功后,看到的就是容器中的对应信息,而不是宿主机的信息;

3. 进行故障注入

简单示例说明,具体的可以查看相关详细资料;

使用iptables/tc等命令进行故障注入,两种命令都可以修改内核网络层;

工具全称作用故障注入能力
iptablesIP TablesLinux 内核防火墙工具模拟 网络中断、拒绝连接、丢包(部分)
tcTraffic ControlLinux 流量控制工具模拟 网络延迟、丢包、带宽限制、乱序

示例:

# 故障注入-拒绝所有连接数据包iptables# 模拟用户在 4G/跨国网络下访问服务变慢# 在容器或宿主机上执行(需 root 权限)tc qdiscadddev eth0 root netem delay 300ms

参数说明:
eth0:网络接口(容器内通常是 eth0,宿主机可能是 ens33 等)
delay 300ms:所有出站流量增加 300 毫秒延迟

部分说明
tcTraffic Control 的缩写,Linux 内核提供的流量控制工具,用于管理网络队列、限速、模拟网络异常等。
qdiscQueueing Discipline(排队规则),即“如何处理出站数据包的队列”。
这是tc的核心对象,每个网络接口都有一个默认 qdisc(通常是pfifo_fast)。
add添加一个新的 qdisc 规则。
dev eth0指定操作的网络设备(interface),这里是eth0(容器内通常为eth0,宿主机可能是ens33enp0s3等)。
root表示将这个 qdisc 作为根规则(替换默认队列),所有从该接口发出的数据包都会经过它。
netemNetwork Emulator(网络模拟器),是tc的一个 qdisc 类型,专门用于模拟各种网络问题:
延迟(delay)、丢包(loss)、乱序(reorder)、重复(duplicate)等。
delay 300ms具体模拟的行为:给所有出站数据包增加 300 毫秒的固定延迟。

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 23:41:58

数据合并和处理缺失值的具体案例

数据合并和处理缺失值的具体案例 数据合并案例场景数据合并案例场景 在实际业务中,我们经常需要将来自不同来源的数据进行合并,以便进行全面分析。例如,一家电商平台可能有一个包含客户基本信息的表和一个记录客户购买历史的表。这两个表通过…

作者头像 李华
网站建设 2026/5/1 8:26:21

hcia练习5

如题划分如图完成

作者头像 李华
网站建设 2026/5/1 3:23:49

用AI撰写高质量网络小说:脑洞生成实操指南

网络小说的核心竞争力,往往藏在“脑洞”里——一个新奇、合理又有延展性的脑洞,能快速抓住读者注意力,让作品在海量内容中脱颖而出。但脑洞的诞生并非偶然,很多创作者都会陷入“灵感枯竭”的困境,反复纠结于设定老套、…

作者头像 李华
网站建设 2026/4/19 0:34:48

AI辅助网络小说创作:高质量脑洞生成实操(附Python代码)

网络小说的出圈关键,往往在于“脑洞”的独特性——一个新奇、逻辑自洽且有延展性的脑洞,能快速打破内容同质化困境,抓住读者注意力。但灵感枯竭是创作者的常态,反复陷入设定老套、剧情俗套、反转生硬的瓶颈,耗时费力却…

作者头像 李华
网站建设 2026/4/18 19:30:13

Angular 前端端口号修改的几种方式

4200 被占是 Angular 开发里最常见的问题之一。 按 从“临时 → 永久” 给你排一下,挑最适合你的。 方法一(最快):启动时指定端口【最常用】 在项目根目录直接运行: ng serve --port 4300或者顺手把 host 也一起指定&a…

作者头像 李华
网站建设 2026/5/1 9:28:45

百度AI:让电脑和手机也能像人一样操作屏幕的智能助手诞生了

想象一下,如果你的电脑或手机能像真人一样看懂屏幕上的内容,知道哪个按钮该点击,哪个输入框该填写,甚至还能帮你完成复杂的多步操作任务,那会是什么样的体验?这听起来像是科幻电影里的情节,但百…

作者头像 李华