【问题标题】:How to create a GKE node pool running as a service account in another project?如何在另一个项目中创建作为服务帐户运行的 GKE 节点池?
【发布时间】:2021-09-20 17:47:24
【问题描述】:

我有两个 GCP 项目,A 和 B,我想在项目 B 中创建一个集群,同时在项目 B 中创建一个节点池,作为项目 A 中的服务帐户运行。

我能够创建集群,但是当我尝试创建节点池时出现以下错误:

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.

我已为项目 B 的 Kubernetes 代理服务帐户 (service-<project-B-number>@container-engine-robot.iam.gserviceaccount.com) 在项目 A 中为 gke-node@project-A.iam.gserviceaccount.com 分配了 iam.serviceAccountUser 角色,但这似乎不起作用。

这样可以吗?

【问题讨论】:

  • 目前还不清楚您在这里要求什么。鉴于您在 Google Cloud Platform (GCP) 项目 B 中运行的 Google Kubernetes Engine (GKE) 集群和属于 GCP 项目 A 的服务帐户,您希望您的节点池在项目 A 或项目 B 中运行?
  • 我已经澄清了这个问题,因为我还想要项目 B 中的节点池。这些链接看起来像我所缺少的!将在星期一试一试并报告
  • @GariSingh 不幸的是,iam.disableCrossProjectServiceAccountUsage 约束已启用,因此我无法执行这些步骤,但如果创建为答案,很高兴将其标记为正确,谢谢!

标签: google-cloud-platform google-kubernetes-engine


【解决方案1】:

我发布此社区 wiki 答案是为了让您更清楚地了解评论部分提供的解决方案。随意更改或扩展。

正如 @Gari Singh 所建议的,您应该关注documentation@dippynark 导致问题的根本原因是启用了iam.disableCrossProjectServiceAccountUsage 约束。 Here您可以找到更多详细信息。

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 2023-03-11
    • 2022-08-20
    • 2020-06-10
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2020-05-31
    相关资源
    最近更新 更多