You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Build私有Worker Pool中的构建任务长期卡在Queued状态无法执行

故障原因
  • 最高概率原因是IAM权限配置缺失:2021年8月下旬Google Cloud对私有Worker Pool的权限要求做了升级,必须给Cloud Build专属服务代理账号授予VPC的Compute Network User权限,未调整权限的存量私有池会突然无法调度任务,和你故障发生的时间点完全吻合。
  • 第二大概率原因是cloudbuild.yaml配置错误:你提供的配置样例中options.pool.name字段的workerPools后缀写的是<project-id>,此处应填写Worker Pool的实际ID而非项目ID,配置错误会导致Cloud Build找不到可用的worker资源,任务长期处于排队状态。
  • 其他可能原因:VPC对等连接状态异常、Worker Pool分配的IP段与现有VPC网段冲突、防火墙规则拦截了Worker池的出入站流量、私有池并发配额耗尽。
解决步骤
  1. 修正配置文件错误
    核对cloudbuild.yaml中options.pool.name的完整路径,格式应为projects/<项目ID>/locations/<区域>/workerPools/<Worker Pool ID>,确保Worker Pool ID与你通过gcloud builds worker-pools list查询到的ID完全一致。

  2. 补全IAM权限
    执行以下命令给Cloud Build服务代理账号授权,将占位符替换为你项目的实际参数:

gcloud projects add-iam-policy-binding <你的项目ID> \
  --member=serviceAccount:service-<你的项目数字ID>@gcp-sa-cloudbuild.iam.gserviceaccount.com \
  --role=roles/compute.networkUser

项目数字ID可在GCP控制台「项目设置」页面查询。

  1. 排查VPC对等连接状态
    打开GCP控制台进入「VPC网络 -> 对等连接」页面,找到对应区域私有池的对等连接(命名规则为cloudbuild-peer-<区域>-<池ID>),确认状态为ACTIVE:
    如果状态为失败,删除现有Worker Pool后重建,重建时可手动指定未被现有VPC占用的/24网段作为Worker的IP范围,避免网段冲突。

  2. 排查防火墙规则
    确认VPC防火墙存在以下规则:

  • 入站规则:放行来源为Worker Pool IP段的所有流量,目标为VPC内所有实例
  • 出站规则:允许Worker池的所有出站流量(你配置了PUBLIC_EGRESS,需要访问Secret Manager、Cloud SQL等公共服务)
  1. 验证修复结果
    提交新的构建任务,确认任务不再卡在Queued状态正常执行。

内容的提问来源于stack exchange,提问作者Felipe Koji Waku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:45:03