我对 Kubernetes 完全陌生,对 Kubernetes 中的网络有一些疑问。
据我了解,Kubernetes 有三种网络:一种用于 Pod,一种用于节点,一种用于外部世界(WAN)。我的理解正确吗?如果是这样,在这些网络中分配IP地址时,我们应该为这三个网络组件分配不同的网络/子网,还是可以从同一网络分配IP?这会产生任何问题吗?
提前谢谢您。
我从 Azure Kubernetes 服务(使用 Cilium Networking)的角度进行回应。
关于:
Azure Kubernetes 服务集群为节点和 Pod 提供不同的子网。您可以使用 Azure DNS、Azure 虚拟网络和 Azure 网关将集群上部署的应用程序与互联网连接。
每种方法(从相同子网和不同子网分配 IP)都有其自身的优点和缺点。
如果从同一子网进行分配,您将很快用完子网中的 IP 地址,这对动态扩展和缩减操作构成挑战,尽管联网组件之间的网络性能会比提供部分优势的其他方式更好。
如果您从不同的子网进行分配,除了可以更好地利用 IP 地址之外,您还将拥有更大的 Ips 池,使其相对更好地进行动态扩展和缩减操作,此外还允许我们在网络安全组和相关安全方面拥有更好的粒度方面。