Kubernetes容器网络必须使用独立、无重叠的CIDR子网,避免与节点VPC、Service网络冲突;需按节点规模预估容量并匹配CNI插件配置,否则将导致Pod通信失败或集群初始化卡住。

Kubernetes 集群的容器网络依赖清晰、无重叠的子网划分,否则会导致 Pod 通信失败、Service 解析异常甚至集群初始化卡住。关键不是“能不能划”,而是怎么划才不和节点网络、服务网络、云平台 VPC 路由冲突。
评估 Kubernetes 集群安全态势,覆盖 RBAC、工作负载安全、网络策略、基础设施即代码(IaC)、运行时监控和密钥管理等 30 项控制项……
容器网络 CIDR 必须独立且预留充足
这是最常被忽略的第一步。Kubernetes 要求为所有 Pod 分配唯一 IP,这个地址段(即 --pod-network-cidr)需满足:
- 不能与节点所在 VPC 子网重叠(例如节点用
192.168.10.0/24,容器网就不能选192.168.10.0/16) - 不能与 Service 网络(默认
10.96.0.0/12或云厂商自动分配的172.20.0.0/16)重叠 - 建议使用私有大网段,如
10.244.0.0/16(Flannel 默认)、192.168.0.0/16(Calico 常见)、或172.16.0.0/12,并确保该网段在整套基础设施中未被其他系统占用
按节点规模预估子网容量
每个节点会分配一个子网(如 /24 或 /26),用于其上所有 Pod。若单节点最多跑 110 个 Pod,建议每节点至少 /24(256 地址);若用 /26(64 地址),则最多支持约 64 个 Pod/节点。计算公式:
- 容器网络总大小 ÷ 每节点子网大小 = 最大支持节点数
- 例如
192.168.0.0/16(65536 地址)搭配/24(256 地址/节点)→ 最多支持 256 个节点
对接云平台时必须绕开路由表限制
以华为云 CCE、阿里云 ACK、腾讯云 TKE 为例:
- VPC 路由表条目上限通常为 200 条
- 每个节点的容器子网需添加一条静态路由(如
192.168.10.0/24 → node-A) - 若规划 300 个节点,就不能用
/24,得改用/22(1024 地址/节点),这样 300 节点只需约 3 条路由(通过聚合) - 实际部署前,务必用云平台「容器网络冲突检查」工具验证,避免因已有集群占用了
10.244.0.0/16导致新建失败
和 CNI 插件配置保持一致
子网划分最终要落地到 CNI 配置中:
- Flannel:通过
net-conf.json中的Network字段指定容器网段,同时SubnetLen控制每节点子网大小(如"SubnetLen": 24) - Calico:在
InstallationCR 中设置ipPools.cidr和blockSize(如blockSize: 26表示每节点分一个/26子网) - Cilium:通过
ipam.mode: kubernetes复用 Kubernetes 的--pod-network-cidr,无需额外定义子网池
不复杂但容易忽略。

















