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

如何创建使用另一GCP项目服务账号运行的GKE节点池

结论

该需求可以实现,配置不生效是因为遗漏了必要的GCP内置服务代理账号权限,正确配置流程如下:

报错根因

你收到的报错

The user does not have access to service account: gke-node@project-A.iam.gserviceaccount.com. Ask a project owner to grant you the iam.serviceAccountUser role on the service account.

本质是GKE创建节点池时,除了你已经配置的Kubernetes Engine Service Agent,还有其他GCP内置服务代理需要拿到项目A中服务账号的iam.serviceAccountUser权限。

正确配置步骤

所有权限配置均在项目A的gke-node@project-A.iam.gserviceaccount.com服务账号的IAM权限页操作:

  • 保留你已经配置的权限:给项目B的Kubernetes Engine Service Agent service-<项目B数字ID>@container-engine-robot.iam.gserviceaccount.com 授予roles/iam.serviceAccountUser角色
  • 补充缺失的核心权限:给项目B的Google APIs Service Agent service-<项目B数字ID>@cloudservices.gserviceaccount.com 授予roles/iam.serviceAccountUser角色
  • (可选)如果你是用个人账号/自定义服务账号手动创建节点池,给你的操作账号也授予roles/iam.serviceAccountUser角色
生效验证

权限配置完成后等待2分钟左右让IAM权限全局同步,再重新创建项目B的节点池即可正常创建。

额外注意事项
  • 如果节点需要访问项目A的其他云资源,需要单独给gke-node@project-A.iam.gserviceaccount.com授予对应资源的访问权限
  • 权限绑定优先直接绑定到gke-node@project-A.iam.gserviceaccount.com服务账号本身,不要绑定到项目A的项目级IAM,避免权限范围过大

内容的提问来源于stack exchange,提问作者dippynark

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:12:04