Kubernetes 的网络模型设计非常独特,其核心目标是创建一个扁平的、直接的网络结构,使得应用程序从虚拟机或物理机迁移到容器时,不需要对网络架构做太大的修改。 Kubernetes 网络模型主要由以下 3 个基本原则(黄金法则) 加上 1 个 Pod 内部原则 组成: 1. 核心原则(黄金法则) Kubernetes 强制要求任何网络实现(CNI 插件)必须满足以下三个连通性要求: 1. Pod 与 Pod 之间可以直接通信,无需 NAT(网络地址转换): 集群中的任何一个 Pod 都可以直接连接到集群中的任何其他 Pod(无论它们是在同一个 Node 上还是不同的 Node 上)。 这意味着不需要像 Docker 默认模式那样进行端口映射(Port Mapping)或链接。 2. Node 与 Pod 之间可以直接通信,无需 NAT: 节点上的系统守护进程(如 Kubelet)可以直接与该节点上运行的所有 Pod 通信。 3. Pod 看到的自己的 IP 与别人看到的它的 IP 是同一个: Pod 不需要通过宿主机的 IP + 端口来被访问。 这被称为 "IP-per-Po...