Kubernetes 网络模式深入解析?

文章目录

Kubernetes 的网络模型有一个核心原则:所有 Pod 都可以不通过 NAT(网络地址转换)而直接互相通信。

为了实现这个"大平层"网络,CNI(容器网络接口)插件主要通过三种模式来实现。你提到的 Underlay 确实存在,它是与 Overlay 相对的概念。

以下是 Kubernetes 网络模式的通俗解构:


1. Overlay 模式(隧道模式)

形象比喻: 像是在现有的公路上(物理网)加盖了一层"封闭式高架桥"(逻辑网)。

  • 技术原理: 封包传输。Pod 发出的原始包会被包装在一个"宿主机包"里。当包到达目的地节点时,再拆掉外壳,取出原始包。常见的协议有 VxLAN 和 IPIP。
  • Underlay 关系: 它对底层物理网络(Underlay)没有任何要求,只要节点之间 IP 能通,高架桥就能盖起来。
  • 优点: 兼容性极强,不受底层网络网段、交换机配置限制。
  • 缺点: 封包拆包消耗 CPU;包头变大导致有效载荷减少(MTU 问题);性能损耗约 5%~15%。
  • 主流插件: Flannel (VxLAN), Calico (IPIP/VxLAN)。

2. Routing 模式(路由模式)

形象比喻: 节点就是"邮局"。每个节点告诉邻居:"我这里负责 10.244.1.0 段的邮递,有这类信件请传给我。"

  • 技术原理: 纯路由转发。Pod 的原始包直接在物理网络上传输,不封包。通过在主机上配置静态路由或使用 BGP 协议 动态告诉交换机/其他节点如何到达 Pod IP。
  • Underlay 关系: 它是 Overlay 与 Underlay 之间的桥梁。它利用了 Underlay 的转发能力,但 Pod IP 通常还是独立的私有段。
  • 优点: 性能极高,几乎等同于物理网速。
  • 缺点:
    • Host-Gateway (静态): 要求所有节点必须在同一个二层网段(VLAN)。
    • BGP (动态): 需要底层物理交换机支持 BGP 协议并配合配置。
  • 主流插件: Calico (BGP), Flannel (Host-gw)。

3. Underlay 模式(物理直连模式)

形象比喻: Pod 不再是躲在宿主机后面的"小弟",它直接向物理网络申领"身份证"(IP),和宿主机在地位上是平等的。

  • 技术原理: 直接将 Pod 接入物理网。Pod 的 IP 地址就是物理网络段的一部分(比如和宿主机在同一个网段)。常见的技术有 MACVLAN 、IPvlan 或直接对接云厂商的 VPC。
  • 与 Underlay 的关系: 它是真正意义上的 Underlay 方案。Pod 完全依赖物理网络的交换机进行流量调度。
  • 优点: 性能最好,时延最低;外部网络可以直接访问 Pod IP(无需经过 NodePort)。
  • 缺点:
    • 极度消耗物理网络的 IP 资源。
    • 对物理网络环境高度依赖。
    • 网络策略(Security Policy)难以在 K8s 层面控制,通常要在交换机上做。
  • 主流插件: Multus, Macvlan, 云厂商专有 CNI (如阿里云 Terway, AWS VPC CNI)。

总结对比表:网络模式选型

特性 Overlay (隧道) Routing (路由/BGP) Underlay (直连)
性能 一般(有额外开销) 优异(接近线速) 极高(等同物理机)
底层网络要求 无要求,只要 IP 通 需二层互通或交换机支持 BGP 物理网 IP 充足,需交换机配合
跨网段支持 支持 取决于是否开启 BGP 取决于物理网络架构
配置复杂度 简单(一键安装) 中等(需配 BGP 或静态路由) 复杂(需网络组深度参与)
适用场景 跨云、跨网段、追求稳定兼容 大规模、高并发微服务 金融、低延迟通信、老旧系统接入

整合进清单的建议:

在你的"网络服务"清单中,关于 CNI 插件选型,你可以这样描述:

CNI 模式选型建议:

  1. 若追求部署简单、无视物理环境: 选 Overlay (VxLAN/IPIP)。
  2. 若追求高性能且节点在同一网段: 选 Routing (Host-gw)。
  3. 若具备 BGP 交换机权限且追求极致性能: 选 Routing (BGP)。
  4. 若 Pod 需直接暴露在物理网且有极低延迟需求: 选 Underlay (MACVLAN/云专有CNI)。

架构师提示: 调研时,重点问客户:"你们的交换机支持 BGP 协议吗?" 或者 "你们允许 Pod 直接占用物理内网 IP 吗?"。这两个问题的答案直接决定了你只能选 Overlay 还是可以尝试 Underlay/Routing。

相关推荐
天行健,君子而铎11 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
深圳市快瞳科技有限公司15 小时前
宠物门禁端侧AI落地解析:画质检测、活体甄别与离线推理
网络
一条泥憨鱼17 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
m0_7156744317 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
大数据·网络·人工智能·网络安全
程序员老赵18 小时前
Docker 部署 Portainer CE:轻松搭建容器管理平台
docker·容器·开源
dog25018 小时前
带宽,时延,抖动的不可能三角
网络·tcp/ip
砚凝霜18 小时前
【软考信息安全】第十六章 网络安全风险评估过程与技术方法
网络·安全·web安全
大侠归来19 小时前
Docker 部署 Dolibarr:从零开始的完整指南
运维·docker·容器
七月吃橘子19 小时前
WSL2+Docker+Ollama,本地部署大模型实践(Qwen1.8b)
运维·docker·容器
Eloudy19 小时前
MLNX_OFED 的 install.pl 安装流程分析
网络·rdma·roce