网络原理最好的表达方式我觉得还是图,所以我把我对整个网络模式的原理画成如下图。
Host-GW 模式的工作原理
- 网络架构:
- Flannel 在每个节点上配置一个虚拟网络接口(veth),并为 Pod 创建一个隔离的网络命名空间。
- 主机通过
host-gw 模式直接转发流量。
- Pod 网络:
- 每个 Pod 被分配一个从 Flannel 网络中分配的 IP 地址。
- 这种 IP 地址是不同于宿主主机 IP 的。
- 流量转发:
- 当一个 Pod 需要与另一个节点上的 Pod 通信时,流量会通过目标 Pod 的 IP 被路由。
- 节点使用路由表将流量转发到其他节点的 Flannel 网关(即选定的宿主机)。
- 无网络封装:
- Host-GW 模式不需要使用封装(如 VXLAN 或 GRE),流量直接转发,高效且简单。
特点
- 高性能:
- Host-GW 模式转发流量不需要进行额外的封装,所以它具有高效的网络性能。
- 简单配置:
- 相较于其他封装模式,Host-GW 的设置比较简单,因为它依赖于主机的路由能力。
- 局限性:
- Host-GW 模式适用于小规模集群,且网络拓扑比较简单时。
- 如果集群涉及跨多个网络或跨云环境,Host-GW 模式可能会受到限制,因为它需要直接的路由到达 Pod。
- 网络镜像:
- Flannel 通过使用
iptables 或 ip rule 集成与路由,使得宿主机能够知道哪些流量需要转发到 Pod。
注意:
- 网络要求:
- 一定要二层联通也就是可以ARP广播