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

Cloud Build私有工作池无法连接私有GKE集群的排查求助

问题排查:Cloud Build私有工作池无法连接跨VPC私有GKE集群

问题详情

我正尝试配置Cloud Build私有工作池访问跨VPC的私有GKE集群,已完成VPC、路由器、私有工作池等组件创建,但构建时出现连接超时。具体信息:

  • Cloud Build私有工作池实例网段:192.168.0.0/16
  • 私有GKE集群地址:10.68.0.2(位于另一个VPC)
  • 两个VPC内的VM测试连通性正常,但Cloud Build构建执行kubectl get nodes时超时。

构建YAML配置

- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  entrypoint: 'bash'
  args:
  - '-eEuo'
  - 'pipefail'
  - '-c'
  - |-
    gcloud container clusters get-credentials GKE-CLUSTER-NAME --zone us-central1-a --project PROJECT
    kubectl get nodes
  options:
    workerPool: 'projects/PROJECT/locations/us-central1/workerPools/private-cloudbuild-pool'

构建错误输出

Step #1: Fetching cluster endpoint and auth data.
Step #1: kubeconfig entry generated for GKE-CLUSTER-NAME.
Step #1: E1018 20:46:10.807598 28 memcache.go:265] couldn't get current server API group list: Get "https://10.68.0.2/api?timeout=32s": dial tcp 10.68.0.2:443: i/o timeout


可能遗漏的配置步骤

1. 补充GKE集群的防火墙规则

私有GKE集群默认防火墙仅允许授权来源访问控制平面443端口,需添加规则允许Cloud Build工作池网段访问:

  • 目标:选择GKE集群控制平面的标签(格式通常为gke-<集群名称>-<随机后缀>-master)
  • 协议/端口:tcp:443
  • 来源:192.168.0.0/16
  • 动作:允许

2. 确认VPC Peering的路由完整性

虽然VM连通正常,仍需检查:

  • 两个VPC的Peering连接状态为ACTIVE
  • 双向路由表中均存在指向对方VPC网段的路由,无路由冲突
  • 无自定义路由、路由策略阻断跨VPC流量

3. 验证Cloud Build私有工作池的网络配置

确保工作池使用正确的内部网络配置:

  • 工作池创建时指定的VPC/子网为192.168.0.0/16所在网络
  • 工作池已启用私有IP访问,未配置依赖NAT的外部访问模式

4. 检查GKE集群的私有访问授权

确认GKE控制平面允许跨VPC访问:

  • 在GKE集群配置中,将Cloud Build工作池所在VPC添加到私有集群访问的授权网络列表
  • 若使用VPC Peering,需确保GKE集群控制平面已授权Peering的VPC网段

5. 确认Cloud Build服务账号权限

虽然错误为连接超时,但需保障服务账号具备必要权限:

  • 拥有container.clusters.getCredentials权限(可通过roles/container.admin或roles/container.clusterViewer角色授予)
  • 在GKE集群RBAC中,为该服务账号授予节点访问权限(如view角色)

内容的提问来源于stack exchange,提问作者Juan Manuel Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:46:17