微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有共享 vpc、gke 的 Terraform gcp

如何解决具有共享 vpc、gke 的 Terraform gcp

我正在 GCP 中编写 terraform 文件,以在共享 vpc 的服务项目中创建共享 vpc、GKE、计算引擎。

我遇到了 GKE 说错误错误

403 permission error service.hostagent even though it has required permissions. 

而且我正在使用服务帐户密钥。不确定这是否是正确的方法,例如我在宿主项目中创建了服务帐户,并在服务项目的 iam 中添加了该服务帐户 ID。使用宿主项目服务密钥。这是正确的方法吗?。

谢谢。

解决方法

在创建共享 VPC 时,从宿主项目到服务项目共享子网允许服务项目的服务帐户中提到的所有成员。

从错误消息来看,似乎缺少 IAM 权限。使用 GKE 创建共享 VPC 时,请确保您拥有以下权限:

  1. 要创建共享 VPC,需要一个共享 VPC 管理员角色(您似乎已经拥有)。

  2. 要共享您的子网,您需要授予用户计算网络用户角色。

  3. 在创建 GKE 配置时,请确保在所有项目中启用 Google Kubernetes Engine API。在项目中启用 API 会为项目创建一个 GKE 服务帐号。

  4. 附加服务项目时,启用 Kubernetes Engine 访问权限 会授予服务项目的 GKE 服务帐号在宿主项目中执行网络管理操作的权限。

  5. 每个服务项目的 GKE 服务帐号都必须绑定宿主项目上的 Host Service Agent User 角色。此角色专门用于共享 VPC 集群,包括以下权限:

    a) compute.firewalls.get

    b) container.hostServiceAgent。*

有关其他信息,您可以查看 here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。