具有共享 vpc、gke 的 Terraform gcp

问题描述 投票:0回答:2

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

我遇到 GKE 错误,提示错误

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

我也正在使用服务帐户密钥。不确定这是否是正确的方法,就像我在宿主项目中创建服务帐户并在服务项目的 iam 中添加该服务帐户 ID 一样。使用宿主项目服务密钥。这是正确的做法吗?.

谢谢。

google-cloud-platform terraform google-kubernetes-engine vpc
2个回答
1
投票

创建共享 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) 容器.hostServiceAgent。*

有关更多信息,您可以查看此处


0
投票

在共享 VPC 中创建 GKE 集群需要特定的 IAM 权限,您可以在这里找到详细信息

有关使用 terraform 的详细实现,请参阅 https://medium.com/google-cloud/shared-vpc-gke-provisioning-gke-cluster-in-shared-vpc-using-terraform-5cd40e3ff720

© www.soinside.com 2019 - 2024. All rights reserved.