gpt4 book ai didi

docker - 在Docker中模拟网络故障

转载 作者:行者123 更新时间:2023-12-02 20:12:00 28 4
gpt4 key购买 nike

我正在尝试在docker中模拟部分/全部网络/容器故障,以查看我的应用程序在故障情况下的行为。我从使用pumba开始,但是它不能正常工作。更具体地说,此命令在通过pumba运行时以及通过docker exec在容器上直接运行时均失败:

tc qdisc add dev eth0 root netem delay 2000ms 10ms 20.00

具有以下输出:
RTNETLINK answers: Operation not permitted

现在,这里变得陌生。它在我的服务容器中运行时有效实际上,仅在安装iproute2软件包后,它才通过pumba运行,而不是直接运行(rabbitmq:3.6.10,redis:4.0.1,mongo:3.5.11)。它在我的应用程序容器中不起作用,所有这些容器都使用node:8.2.1作为基本镜像,该镜像已经安装了iproute2。这些容器均未应用任何add_caps。

在应用程序容器之一上输出 ip addr:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1
link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: ip_vti0@NONE: <NOARP> mtu 1332 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
6: ip6_vti0@NONE: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1
link/tunnel6 :: brd ::
7: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
link/sit 0.0.0.0 brd 0.0.0.0
8: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
link/tunnel6 :: brd ::
9: ip6gre0@NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1
link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
113: eth0@if114: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:06 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.6/16 scope global eth0
valid_lft forever preferred_lft forever

最佳答案

好的,我找到了答案的一部分。事实证明,直接在服务容器上运行时,tc命令不起作用。抱歉,原始问题中的信息不正确。 Pumba在服务容器而不是应用程序容器上工作。 tc命令不适用于任何容器。

事实证明,以非特权用户身份运行是一个问题。我打开了一个与pumba有关的问题。

当以root身份运行时,tc comand仍然不起作用,我仍然不知道为什么。但是,我仅使用该命令进行调试,因此尽管我对为什么它不起作用感到好奇,但我的主要问题已解决。

关于docker - 在Docker中模拟网络故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46184132/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com