Bridge、Host、Overlay、Macvlan、Ipvlan 的适用场景

解读

国内面试官问这道题,不是让你背定义,而是看你是否能在真实交付链路里选对网络驱动
Docker 网络驱动直接决定容器能否过等保、能否上生产、能否在多云环境横向扩容。答得好,必须给出**“业务特征→合规要求→性能瓶颈→运维成本”四维决策路径,并指出国内云厂商(阿里云、腾讯云、华为云)的底层限制典型踩坑点**。

知识点

  1. Bridge:默认 NAT 网桥,CNI 插件 calico/macvlan 未接管时唯一选择;适合单宿主机开发/测试宿主机端口映射(-p)依赖 iptables,高并发 NAT 表打满是常见故障。
  2. Host:容器与宿主机共用 netns,零 NAT 转发延迟;适合日志采集(Filebeat)、监控节点(node-exporter)、Service Mesh sidecar( Envoy 热升级) 这类需要抓宿主机网卡或打标 QoS 的场景;必须接受容器与宿主机端口 1:1 冲突等保 2.0 要求关闭(因为无法做网络隔离)。
  3. Overlay:跨宿主机 VXLAN 隧道,Swarm 原生、Kubernetes 早期 flannel-udp 模式;适合线下机房裸机多节点混合云打通(阿里云私网与腾讯云 VPN 互联)场景;MTU 需要减 50(VXLAN 头),国内 2022 年后新建项目基本被 Calico BGP 或 Cilium eBPF 替代,但存量 Swarm 遗产仍需维护。
  4. Macvlan:容器直接拿到宿主机同二层 VLAN IP广播域可见性能接近物理机;适合传统金融“强网络策略”场景
    • 需要固定私网 IP 过防火墙白名单(券商柜台、央行清算网)
    • 需要IPv6 地址直接暴露在交换机(政府网站 IPv6 改造)
      限制宿主机网卡必须打开混杂模式阿里云 ECS 禁止(会触发安全告警),华为云裸金属服务器可用
  5. Ipvlan:Macvlan 的“无 MAC”版,共用宿主机 MAC不触发交换机 MAC 表爆炸;适合高密度短生命周期容器(CI Runner、压测 Pod),单宿主机 4k 容器场景;国内云厂商只有华为云 Turbo 系列裸金属公开支持需要内核 ≥4.9打开 802.1Q 子接口

答案

Bridge:单节点开发、测试,或作为 CNI 未接管时的兜底;注意 NAT 表打满时切换 HostNetwork 或 Macvlan
Host:对延迟极度敏感、需要抓宿主机流量、端口冲突可控的系统组件;等保场景需走例外审批
Overlay:存量 Swarm、线下裸机多节点、混合云 VPN 打通;新项推荐直接上 Calico BGP 或 Cilium,不要新造 Overlay
Macvlan:金融、政企需要固定私网 IP 过防火墙IPv6 直通交换机公有云 ECS 不能用,只能选裸金属或私有云
Ipvlan单节点 >1k 容器的高密度压测、CI 场景;需内核与交换机双向支持国内仅华为云裸金属大规模落地

拓展思考

  1. 国内云厂商“隐形锁”:阿里云 ENI 多 IP 模式实际走的 Ipvlan L2,但控制台不暴露,直接调用 OpenAPI 创建 ENI-Trunking 可绕过 20 容器/ENI 上限,这是大厂面试加分项
  2. 等保 2.0 三级要求“不同等级系统之间必须网络隔离”,Host 模式容器与宿主机共享网络命名空间,无法通过测评必须在 Overlay/Macvlan 里再挂一层微隔离(NeuVector、青藤)
  3. Service Mesh 场景下,sidecar 需要拦截所有出入流量,若用 Macvlan/Ipvlan 直接暴露 IP,iptables 规则无法注入需改用 Cilium eBPF kube-proxy replacement面试可主动抛出“sidecar-less”趋势,展示对下一代数据面的理解。