深入k8s网络原理-Flannel-host-gw模式

37 阅读1分钟

网络原理最好的表达方式我觉得还是图,所以我把我对整个网络模式的原理画成如下图。

Host-GW 模式的工作原理

  1. 网络架构
  • Flannel 在每个节点上配置一个虚拟网络接口(veth),并为 Pod 创建一个隔离的网络命名空间。
  • 主机通过 ​​host-gw​​ 模式直接转发流量。
  1. Pod 网络
  • 每个 Pod 被分配一个从 Flannel 网络中分配的 IP 地址。
  • 这种 IP 地址是不同于宿主主机 IP 的。
  1. 流量转发
  • 当一个 Pod 需要与另一个节点上的 Pod 通信时,流量会通过目标 Pod 的 IP 被路由。
  • 节点使用路由表将流量转发到其他节点的 Flannel 网关(即选定的宿主机)。
  1. 无网络封装
  • Host-GW 模式不需要使用封装(如 VXLAN 或 GRE),流量直接转发,高效且简单。

特点

  1. 高性能
  • Host-GW 模式转发流量不需要进行额外的封装,所以它具有高效的网络性能。
  1. 简单配置
  • 相较于其他封装模式,Host-GW 的设置比较简单,因为它依赖于主机的路由能力。
  1. 局限性
  • Host-GW 模式适用于小规模集群,且网络拓扑比较简单时。
  • 如果集群涉及跨多个网络或跨云环境,Host-GW 模式可能会受到限制,因为它需要直接的路由到达 Pod。
  1. 网络镜像
  • Flannel 通过使用 ​​iptables​​​ 或 ​​ip rule​​ 集成与路由,使得宿主机能够知道哪些流量需要转发到 Pod。

注意:

  1. 网络要求
  • 一定要二层联通也就是可以ARP广播

重点: 图