如何随意模拟每个独立的Docker容器的网络断开连接?

3
我想对运行在Docker容器中的应用程序进行一些压力测试。例如,打开/关闭指定IP地址的所有数据包等简单场景。
我尝试了一些工具,但似乎没有一个能满足我的需求:
1. 从桥接网络中断开容器 - 不幸的是,它会中断所有连接,而不仅仅是指定的IP地址。 2. 在容器内部设置iptables规则 - 这需要在特权模式下启动容器,这不是一个好的做法(我希望有一种适合生产环境的方法)。 3. 修改主机的iptables也不是一个选择 - 我想为特定的容器创建网络问题,而不是为主机上的所有容器创建问题。
那么,有哪些可能的方法可以考虑?是否有任何混沌工程工具可供选择以满足这些需求?
1个回答

2

对于 Docker 容器相关的内容,我们通常使用 https://github.com/alexei-led/pumba,它基本上将 tc 的所有功能带入了 Docker 世界。在 k8s 中,我们通常将其部署为一个 DaemonSet,然后(通过正则表达式)攻击特定的 pods / containers / apps。如果您提供更具体的问题,我很乐意回答具体的细节。


1
看起来很有前途,而且与k8s合作的能力正是我们未来所需!谢谢! - undefined
麦克森斯,请问一个问题。我正在尝试构建一个可在Grafana上可视化的可观测性平台。我在AWS EC2上运行所有的Docker容器,其中包括Prometheus节点导出器,并且我想要压力测试这个Prometheus节点导出器Docker容器。我已经设置了Prometheus节点导出器的内存利用率,并且定义了阈值为70%(如果超过71%则会触发警报),因此压力测试的目的是使容器超过定义的阈值。请问您有任何想法如何做到这一点吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接