本章讲解知识点
-
- Kubernetes 网络模型
-
- 网络命名空间
-
- veth 设备对
-
- 网桥
-
- iptables 和 netfilter
-
- 路由
-
- docker 的网络实现
-
- docker 网络的局限性
1. Kubernetes 网络模型
Kubernetes 的网络模型设计是为了简化容器编排中的网络配置,并提供一种容器之间直接通信的方式。这个网络模型的核心原则是每个 Pod 都拥有一个独立的 IP 地址,而且所有 Pod 都在一个扁平的、直接连通的网络空间中。这意味着不管 Pod 运行在哪个节点上,它们都可以通过彼此的 IP 直接访问。这个原则的设计使得用户不需要额外考虑如何建立 Pod 之间的连接,也不需要考虑如何将容器端口映射到主机端口等问题。
在 Kubernetes 中,IP 地址是按照 Pod 为单位进行分配的,这意味着每个 Pod 内部的所有容器都共享同一个网络堆栈,相当于在一个网络命名空间中。在这个模型中,每个 Pod 都有一个唯一的 IP 地址,也被称为 IP-per-Pod 模型。
由于 Kubernetes 的网络模型假定 Po