无法为GCP(带VM)创建带打包器的映像。

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

我想用packer build命令创建镜像,但当我这样做时,我面临着这个错误。

googlecompute: * The user does not have access to service account '[email protected]'.  User: 'farzin-second-test-project@farzin-second-test-project.iam.gserviceaccount.com'.  Ask a project owner to grant you the iam.serviceAccountUser role on the service account

我已经添加了服务账户用户角色和计算管理员和计算实例管理员(v1)到我的服务账户。我还启用了计算API,但在我的虚拟盒中,我使用的是centos,而在这里,我使用这个packer build不能正常工作。在那里,我创建了一个文件的名称凭证,并把json键在那里,我也做了我的包装器模板,我也应该说我的模板是有效的。

有人有什么想法吗?奇怪的是,它要求我把这个权限给用户,但加了之后还是不行。

google-cloud-platform virtualbox packer
1个回答
1
投票

你必须在你的GCP账户上启用所有下面的API。

gcloud services enable sourcerepo.googleapis.com
gcloud services enable compute.googleapis.com
gcloud services enable servicemanagement.googleapis.com
gcloud services enable storage-api.googleapis.com

也要确保你的服务账户有适当的权限。 (而且您使用的是一个合适的账户)。

CLOUD_BUILD_ACCOUNT=$(gcloud projects get-iam-policy $PROJECT --filter="(bindings.role:roles/cloudbuild.builds.builder)"  --flatten="bindings[].members" --format="value(bindings.members[])")

gcloud projects add-iam-policy-binding $PROJECT \
  --member $CLOUD_BUILD_ACCOUNT \
  --role roles/editor

你也可以看一下文档。使用Packer构建虚拟机镜像使用 Packer 创建 Cloud Build 映像工厂.

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