GKE Autopilot共享VPC出现IP_SPACE_EXHAUSTED问题求助
问题描述
我在共享VPC中为GKE Autopilot配置了新子网,配置如下:
node ip: 10.11.1.0/24 first secondary ip: 10.11.2.0/24 second secondary ip: 10.11.3.0/24
我尝试部署30个简单的Nginx副本测试。根据我的理解:
我有256个可用节点IP 我有256个可用Pod IP 我有256个可用服务IP
部署后仅2个Pod运行,其余处于Pending状态,报错IP_SPACE_EXHAUSTED。这是全新集群,仍有大量IP可用,请问原因?
问题分析与解决
核心原因
GKE Autopilot的IP分配逻辑和你理解的单IP分配完全不同,导致看似充足的IP实际无法支撑Pod调度:
节点子网的IP损耗与配额限制
你配置的10.11.1.0/24节点子网并非全部256个IP可用:- VPC强制预留子网首尾IP(10.11.1.0、10.11.1.255)
- 前4个IP(10.11.1.1-10.11.1.4)被预留用于网关、DNS等基础服务
- GKE额外预留部分IP用于集群基础设施组件
同时,Autopilot节点的创建受区域节点配额限制,如果当前区域配额仅允许创建2个节点,自然只能运行对应数量的Pod。
Pod子网的CIDR段分配机制
Autopilot不会为每个Pod分配单个IP,而是为每个节点分配一段Pod CIDR:
默认情况下,每个Autopilot节点会获取一个/26的Pod CIDR(包含64个IP),你的10.11.2.0/24子网最多只能划分出4个/26段。如果节点子网无法创建更多节点,或者Pod子网的CIDR段已被占满,就会触发IP_SPACE_EXHAUSTED错误。节点的Pod数量上限
每个Autopilot节点最多运行32个Pod,即使节点和IP资源充足,单节点也无法承载超过32个Pod。但你当前仅运行2个Pod,显然是节点无法扩容导致的。
验证与修复步骤
- 检查节点子网可用IP:通过VPC控制台查看
10.11.1.0/24子网的已用IP数,确认剩余可用IP是否足够创建更多节点 - 查看区域节点配额:检查GKE所在区域的节点配额,确认是否存在配额限制
- 调整子网配置:
- 若节点IP不足,可扩大节点子网CIDR(如改为
10.11.1.0/23)或新增节点子网 - 若Pod CIDR段不足,可扩大Pod子网CIDR或新增辅助Pod子网
- 若节点IP不足,可扩大节点子网CIDR(如改为
- 检查集群CIDR分配:执行
gcloud container clusters describe <集群名称>,查看podIpv4CidrBlocks和serviceIpv4CidrBlocks的使用情况
内容的提问来源于stack exchange,提问作者V Adhi Pragantha
相关产品推荐
相关产品推荐

