conflicting CIDRs


一个K8s的集群中至少有三个网络:


1、 集群节点所在的网络,这个网络就是你的主机所在的网络,通常情况下是你的网络基础设施提供。如果你的node处于不同的网段,那么你需要保证路由可达。如上图中的 192.168.10.0/24和10.0.0.0/8这两个网络


2、第二个网络是Pod的网络, K8s中一个Pod由多个容器组成,但是一个pod只有一个IP地址,Pod找那个所有的容器共享同一个IP。这个IP启动pod时从一个IP池中分配的, 叫做 pod CIDR, 或者叫network_cidr(如图,默认配置是10.1.0.0/16)。 可以在配置文件中配置。


3、K8S服务网络, service_cluster_ip_range(如图,默认的配置是的10.0.0.1/24)


在上图中,扩充的节点(基础网络是10.0.0.0/8)和 服务网络(10.0.0.1/24)冲突,会造网络问题。


注意: 一个Pod会包含多个container, 但是这些containers贡献一个网路IP,也就是说,Container A如果占了80, Container B就不能用80 了。