无法使用Packer for GCP创建映像(使用VM)

时间:2020-05-17 12:25:28

标签: google-cloud-platform virtualbox packer

我想使用打包程序构建命令创建映像,但是当我这样做时,我会遇到此错误:

googlecompute: * The user does not have access to service account 'service-76100000418@compute-system.iam.gserviceaccount.com'.  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,在这里我使用了无法正常运行的打包程序。 在那里,我创建了一个具有名称凭据的文件,并将json密钥放入其中,并且制作了打包程序模板,我还应该说我的模板已经过验证。

有人有什么主意吗?奇怪的是,它要求我将此权限授予用户,但添加后仍然无法正常工作。

1 个答案:

答案 0 :(得分:1)

您必须在GCP帐户上启用所有可使用的API:

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

还要确保您的服务帐户具有适当的权限(并且您使用的是正确的帐户):

{{1}}

您还可以查看文档:{​​{3}}和Building VM images using Packer