首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将AWS流量从容器A镜像到容器B

如何将AWS流量从容器A镜像到容器B
EN

Stack Overflow用户
提问于 2020-02-01 01:58:20
回答 2查看 437关注 0票数 2

我有一个AWS流量镜像会话,从容器A的弹性网卡(弹性网卡)采集流量,并发送到容器B的弹性网卡。

在A内部,/sys/class/net/ eth0 /iflink输出'8',主机上的/sys/class/net/ eni123 /ifindex也输出'8',所以来自容器A的eth0在主机上是eni123的。

我可以使用tcpdump -i eni123从主机捕获指向A的镜像HTTP流量。但是来自B的eth0上的tcpdump没有捕获任何数据包。它捕获我手动从A发送到B的ping。

我用securityContext: privileged: true创建了容器B。

容器eth接口是否限制捕获镜像数据包?是否应该使用普通弹性网卡以外的其他网卡作为镜像目标?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-04 19:11:01

默认的docker网络模式是Docker Bridge,它将容器与网络隔离。

使用--net=host启动容器B,它将能够根据需要捕获网络和主机之间的流量。

票数 0
EN

Stack Overflow用户

发布于 2020-02-07 22:08:35

附加到EC2实例的弹性网卡在根namespace.Whenever中创建一个新的pod,使用暂停容器为该pod创建一个新的命名空间,该pod中的所有容器都是该命名空间的一部分。

因此,在使用私有网络流量镜像时,来自一个弹性网卡的流量将被镜像到连接到EC2实例的另一个弹性网卡,但镜像目标弹性网卡不会将这些网络推送到位于不同命名空间的PODs的虚拟接口。

作为一种解决方法,在EKS的情况下,我为容器部署了一个具有hostNetwork: true参数的pod,该pod能够访问主机的所有接口,并且tcpdump还显示了所有pod流量。

请尝试此方法,并检查此方法是否适合您的用例。

示例Pod清单yaml以供参考

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  hostNetwork: true
  containers:
    - name: nginx
      image: nginx
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60009029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档